Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Uso de booleanos em C#

Pessoal, eu comecei a estudar o módulo de aplicando orientação à objetos em C# e tô na parte de funções lambda. Compreendi como funciona mas no exemplo abaixo eu fiquei na dúvida do porquê do método BuscarNumerosQueSaoPares ser precedido de bool ao invés de int. Posso tá com alguma base meio fraca, mas gostaria de saber o por que do "bool" ali.

List<int> numeros = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

List<int> numerosPares = numeros.FindAll(BuscarNumerosQueSaoPares);

bool BuscarNumerosQueSaoPares(int numero)
{
    return numero % 2 == 0;  // CONDIÇÃO PARA RETORNAR OS NÚMEROS PARES
}

foreach (int numero in numerosPares)
{
    Console.WriteLine(numero);  //PARA PRINTAR NA TELA
}
2 respostas
solução!

Olá Rhyann tudo bom?

O método ira retornar um True ou False, e como parâmetro passamos um numero inteiro, ou seja

se mandarmos como parametro 2:

BuscarNumerosQueSaoPares(2)

No return, através da expressão

numero % 2 == 0

utiliza-se o operador de módulo (%) para verificar se um número é divisível por 2, ou seja, se é par. Se o número for PAR é retornar um Verdadeiro ou seja True, se não for, temos um falso (false).

Dessa Maneira teremos sempre um verdadeiro para pares e falso para impares.

Se fossemos utilizar em uma condição IF poderia ter esse resultado:

 bool BuscarNumerosQueSaoPares(int numero)
            {
                return numero % 2 == 0;  // CONDIÇÃO PARA RETORNAR OS NÚMEROS PARES
            }

            if (BuscarNumerosQueSaoPares(2))
            {
                Console.WriteLine("O número informado é Par!");
}
            else
            {
                Console.WriteLine("O número informado é Impar!");
            }
            Console.ReadKey();

Imagem do Visual Studio com o trecho de código dando a definição do Método que retorna true para numeros pares.

Espero ter ajudado!

Para complementar,

conforme o código informado na pergunta, temos uma lista de numeros sequenciais os quais através da expressão Lambda, fazemos uma validação utilizando o FindAll que ira encontrar Algo nessa lista, no caso, como passamos como parametro do FindAll o método BuscarNumerosQueSaoPares, para cada numero da lista, sera feito a validação, dessa vez preenchendo a nova lista apenas com os números que foram retornados como Verdadeiro, ou seja, que são numeros pares.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade