Sintaxe:
- Expressão lambda: (parâmetros) => expressão
- Declaração Lambda: { declaração condicional1 declaração2 … }
Exemplo 1:
Crie a lista de “fertilizantes” que contém cinco strings. Utilize a expressão lambda que retorna todas as strings da lista.
usando Sistema ;usando System.Linq ;
usando System.Collections.Generic ;
aula LambdaExpressionExample {
estático público vazio Principal ( )
{
// Cria lista de fertilizantes
Listar fertilizantes = novo Lista ( ) ;
fertilizantes . Adicionar ( 'ureia' ) ;
fertilizantes . Adicionar ( 'azoto' ) ;
fertilizantes . Adicionar ( 'potássio' ) ;
fertilizantes . Adicionar ( 'Fosfato de Di-Amônio' ) ;
fertilizantes . Adicionar ( 'fósforo' ) ;
// Use LambdaExpression para selecionar todos os fertilizantes
era resultado = fertilizantes . Selecione ( inp1 => inp1 ) ;
para cada ( era eu em resultado )
{
Console . WriteLine ( eu ) ;
}
}
}
Saída:
Explicação:
1. Crie uma lista do tipo string chamada “fertilizantes”. Adicione cinco strings a esta lista.
2. Use a expressão lambda para selecionar todos os fertilizantes. Aqui, a expressão é usada com o operador “Selecionar”. A expressão é inp1 => inp1. Em seguida, usamos o loop “foreach” para exibir as strings que são retornadas pela expressão lambda.
Exemplo 2:
Use a expressão lambda para selecionar os fertilizantes que incluem “Fosfato”.
usando Sistema ;usando System.Linq ;
usando System.Collections.Generic ;
aula LambdaExpressionExample {
estático público vazio Principal ( )
{
// Cria lista de fertilizantes
Listar fertilizantes = novo Lista ( ) ;
fertilizantes . Adicionar ( 'ureia' ) ;
fertilizantes . Adicionar ( 'azoto' ) ;
fertilizantes . Adicionar ( 'orto - Fosfato' ) ;
fertilizantes . Adicionar ( 'Fosfato de Di-Amônio' ) ;
fertilizantes . Adicionar ( 'fósforo' ) ;
// Use LambdaExpression para selecionar os fertilizantes que incluem - 'Fosfato'
era resultado = fertilizantes . Onde ( inp1 => inp1 . contém ( 'Fosfato' ) ) ;
para cada ( era eu em resultado )
{
Console . WriteLine ( eu ) ;
}
}
}
Saída:
Existem duas cordas que incluem “Fosfato” nelas.
Explicação:
1. Crie uma lista do tipo string chamada “fertilizantes”. Adicione cinco strings a esta lista.
2. Aqui, a expressão é usada com o operador “Where”. A expressão é inp1 => inp1.Contains(“Fosfato”). Em seguida, usamos o loop “foreach” para exibir as strings que são retornadas pela expressão lambda.
Exemplo 3:
Vamos ter uma lista (order_quantity) que contém três pedidos. Especifique a expressão lambda para adicionar 5 a cada pedido.
usando Sistema ;usando System.Linq ;
usando System.Collections.Generic ;
aula LambdaExpressionExample {
estático público vazio Principal ( )
{
// Cria lista de quantidades
Lista order_quantity = novo Lista ( ) ;
quantidade_pedido . Adicionar ( 5 ) ;
quantidade_pedido . Adicionar ( 7 ) ;
quantidade_pedido . Adicionar ( 8 ) ;
// Use LambdaExpression para 5 a cada pedido.
era resultado = quantidade_pedido . Selecione ( inp1 => inp1 + 5 ) ;
para cada ( era eu em resultado )
{
Console . WriteLine ( eu ) ;
}
}
}
Saída:
A lista [5,7,8] é transformada em [10,12,13].
Explicação:
1. Crie a lista de quantidades do tipo inteiro.
2. Selecionamos primeiro os pedidos e depois adicionamos 5 a cada pedido. Portanto, o operador “Selecionar” é usado. A expressão é inp1 => inp1 + 5.
Exemplo 4:
Crie uma fonte de dados de lista do tipo Evento (com três atributos – Event_Name, Event_Status e Event_Budget) e retorne os registros com o Event_Budget maior que 5000.
usando Sistema ;usando System.Linq ;
usando System.Collections.Generic ;
// Cria uma classe chamada - 'Event_Source' com 5 eventos.
público aula Event_Source
{
público estático vazio Principal ( )
{
// Lista de evento
IList eventos = novo Lista ( ) {
novo Evento ( ) { Nome do evento = 'Acampamento Técnico' ,Event_Status = 'Planejado' ,Event_Budget = 10000 } ,
novo Evento ( ) { Nome do evento = 'Acampamento de Marketing' ,Event_Status = 'Concluído' ,Event_Budget = 5000 } ,
novo Evento ( ) { Nome do evento = 'Outro' ,Event_Status = 'Planejado' ,Event_Budget = 1000 } ,
novo Evento ( ) { Nome do evento = 'Política' ,Event_Status = 'Planejado' ,Event_Budget = 13000 } ,
novo Evento ( ) { Nome do evento = 'Finança' ,Event_Status = 'Concluído' ,Event_Budget = 20000 } ,
} ;
//Event_Budget maior que 5000.
era resultado = eventos . Onde ( inp1 => inp1 . Orçamento_Evento > 5000 ) ;
para cada ( era eu em resultado ) {
Console . WriteLine ( 'NOME: ' + eu . Nome do evento + ' STATUS: ' + eu . Event_Status + ' ORÇAMENTO: ' + eu . Orçamento_Evento ) ;
}
}
}
público aula Evento {
público corda Nome do evento { pegar ; definir ; }
público corda Event_Status { pegar ; definir ; }
público int Orçamento_Evento { pegar ; definir ; }
}
Saída:
Existem três registros na lista “eventos” com Event_Budget maior que 5000.
Explicação:
1. Primeiro, criamos uma classe “Evento” com três atributos.
2. Em seguida, criamos uma lista de cinco eventos.
3. Usando o inp1 => inp1.Event_Budget > 5000 lambda expression, selecionamos os registros com Event_Budget maior que 5000.
Exemplo 5:
Utilize o código anterior e altere a expressão lambda. Retorne os eventos com o Event_Name que termine com “Camp” e com o Event_Status que seja “Planned”.
//Lambda Expression - Event_Name termina com 'Camp' e Event_Status é 'Planned'.era resultado = eventos . Onde ( inp1 => inp1 . Nome do evento . Termina com ( 'Acampamento' ) && inp1 . Event_Status == 'Planejado' ) ;
para cada ( era eu em resultado ) {
Console . WriteLine ( 'NOME: ' + eu . Nome do evento + ' STATUS: ' + eu . Event_Status + ' ORÇAMENTO: ' + eu . Orçamento_Evento ) ;
}
Saída:
Há apenas um registro que satisfaz ambas as condições.
Explicação:
Aqui, especificamos duas condições na expressão lambda. O operador && (e) é usado para tornar as duas condições verdadeiras. A primeira condição usa o método EndsWith() para verificar se uma string termina com a string especificada. A segunda condição usa o operador “Comparação” (==) para verificar se ambos os valores são iguais ou não.
Conclusão
Em C#, a expressão lambda leva as expressões/declarações condicionais como seu corpo sem um nome. Precisamos especificar os parâmetros. Em seguida, as expressões são atribuídas a ele. Basicamente, eles são usados para filtrar os registros da fonte de dados fornecida, transformar os elementos e selecionar os elementos da fonte/sequência de dados. Neste guia, discutimos os cinco exemplos diferentes que selecionam, filtram e transformam os elementos usando a expressão lambda.