none
O que são Expressões lambda ? como e quando usar ? RRS feed

  • Pergunta

  • Ola pessoal estou estudando LINQ e agora estou vendo Expressões lambda mais não consegui entender muito bem o conceito da expressão lambda seria isto : 

                int[] numeros = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
    
                int qntimpares = numeros.Count(n => n % 2 == 0);
    

    neste código podemos dizer que ele irá fazer o count se o numero for par certo ? 

    estou confuso em relação a sintaxe seria algo como (conte  todos números pares e valor vai para n ) seria isso ? 

    alguém me ajuda ? 

    quinta-feira, 27 de agosto de 2015 13:22

Respostas

  • Lambda é uma expressao funcional. Lembra de funcoes na escola? F(x) => x+2... literalmente funçao com a variavel x onde o resultao é x+2...

    Mesma coisa ai:

    numeros.Count(n => n % 2 == 0);

    Conte (para coleçao numeros) usando a funçao onde para cada n (elemento da coleçao) n modulo 2 seja igual zero.

    O "n" voce pode chamar de qualquer coisa. A instruçao abaixo funciona igual:

    int[] numeros = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
    int qntimpares = numeros.Count(banana => banana % 2 == 0);

    banana é o nome de cala elemento da coleçao numero.

    Vao existir casos onde voce tera duas variaveis

    F(n,m=>n=1 && m=2);

    Ou seja, para entender LINQ tem que imaginar uma funçao.

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    • Marcado como Resposta Matheus MSDN quinta-feira, 27 de agosto de 2015 14:54
    quinta-feira, 27 de agosto de 2015 14:35
    Moderador