=>, opérateur (référence C#)

Le jeton => est appelé « opérateur lambda ». Il est utilisé dans les expressions lambda pour séparer les variables d'entrée à gauche du corps lambda à droite. Les expressions lambda sont des expressions inline semblables aux méthodes anonymes, mais plus souples ; elles sont largement utilisées dans les requêtes LINQ qui sont exprimées dans la syntaxe de méthode. Pour plus d'informations, consultez Expressions lambda (Guide de programmation C#).

string[] words = { "cherry", "apple", "blueberry" };
int shortestWordLength = words.Min(w => w.Length);
Console.WriteLine(shortestWordLength);
// Output: 5

Notes

L'opérateur => se lit « est redirigé vers ». Dans l'exemple précédent, l'expression se lit «Min w  est redirigé vers w point Length ».

L'opérateur => a la même priorité que l'opérateur d'assignation (=) et est associatif à droite.

Vous pouvez spécifier explicitement le type de la variable d'entrée ou laisser le compilateur le déduire ; dans les deux cas, la variable est fortement typée à la compilation. Lorsque vous spécifiez un type, vous devez mettre le nom de type et le nom de variable entre parenthèses, comme indiqué dans l'exemple suivant :

int shortestWordLength = words.Min((string w) => w.Length);

Les variables d'entrée multiples sont mises entre parenthèses, comme indiqué plus loin dans cette rubrique.

Exemple

L'exemple suivant indique comment écrire une expression lambda pour l'opérateur de requête standard Enumerable.Where avec deux variables d'entrée. Cette expression retourne toutes les chaînes dont les longueurs sont inférieures à leurs positions d'index dans le tableau.

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

Voir aussi

Référence

Expressions lambda (Guide de programmation C#)

Concepts

Guide de programmation C#

Autres ressources

Référence C#