= > Operador (referência de C#)
O => é chamado de token do operador lambda. Ele é usado no as expressões lambda para separar as variáveis de entrada no lado esquerdo do corpo lambda no lado direito. As expressões lambda são expressões de in-line semelhantes aos métodos anônimos, mas é mais flexível; elas são amplamente usadas em consultas LINQ que são expressos na sintaxe do método. Para obter mais informações, consulte Expressões lambda (guia de programação de C#).
string[] words = { "cherry", "apple", "blueberry" };
int shortestWordLength = words.Min(w => w.Length);
Console.WriteLine(shortestWordLength);
// Output: 5
Comentários
O => operador é lido como "vai para". No exemplo anterior, a expressão é lido como "Min w vai para o comprimento do ponto w".
O => operador tem a mesma precedência de operador de atribuição (=) e é associativos à direita.
Você pode especificar o tipo de variável de entrada explicitamente ou deixar o compilador a inferir em ambos os casos a variável tem rigidez de tipos em tempo de compilação. Quando você especifica um tipo, você deve incluir o nome de tipo e o nome da variável entre parênteses, como mostrado no exemplo a seguir:
int shortestWordLength = words.Min((string w) => w.Length);
Diversas variáveis de entrada são colocadas entre parênteses, como mostrado no exemplo neste tópico.
Exemplo
O exemplo a seguir mostra como gravar uma expressão lambda para o operador de consulta padrão Enumerable.Where com duas variáveis de entrada. Essa expressão retorna todas as seqüências de caracteres cujos comprimentos são menos de suas posições de índice na matriz.
string[] digits = { "zero", "one", "two", "three", "four", "five",
"six", "seven", "eight", "nine" };
var shortDigits = digits.Where((digit, index) => digit.Length < index);
foreach (var sD in shortDigits)
{
Console.WriteLine(sD);
}
// Output:
// five
// six
// seven
// eight
// nine
Consulte também
Referência
Expressões lambda (guia de programação de C#)