C# · Essencial · Inglês · Técnico
lambda expression
Função anônima escrita com =>, atribuível a delegates como Func e Action ou a Expression<T>. Pode capturar variáveis do escopo e deixa callbacks e consultas LINQ concisos.
Onde usar
Aparece em Where, Select, OrderBy e em callbacks de eventos. Ao capturar uma variável, a lambda aloca um closure; marcar a lambda como static impede capturas acidentais em caminhos quentes.
Em código
Func<int, int> dobro = x => x * 2;
Action<string> f = s => Console.WriteLine(s);
int fator = 3;
Func<int, int> mult = x => x * fator;
Console.WriteLine(dobro(4) + mult(2)); // 14Exemplos
Pass a lambda expression to Where.
Passe uma lambda para o Where.
That lambda captures a local variable.
Essa lambda captura uma variável local.
Cuidado
Não confunda o => da lambda com o => de membros com corpo de expressão: a sintaxe é a mesma, mas o significado é diferente.
Sinônimos
lambda, função anônima
Origem
Do cálculo lambda, formalismo matemático de funções criado por Alonzo Church.