Bonjour,
Je commence a regarder du code en C# 4.5 et je vois souvent c# () =>
Que cela signifie t il ?
Merci
Bonjour,
Je commence a regarder du code en C# 4.5 et je vois souvent c# () =>
Que cela signifie t il ?
Merci
C'est la notation pour définir une "expression lambda" qui est un concept similaire aux méthodes anonymes (C# 2.0).
Tu trouveras plus d'infos ici:
http://msdn.microsoft.com/en-us/library/bb882516.aspx
http://msdn.microsoft.com/en-us/library/bb397687.aspx
C'est simplement le début d'une expression lambda qui est une syntaxe allégée pour écrire des fonctions anonymes et qui supportent quelques trucs un peu plus exotiques.
Avant tu avais :
Maintenant tu as :
Code : Sélectionner tout - Visualiser dans une fenêtre à part ... = delegate (int x, int y) { return x + y; };
Si le compilo peut inférer les types, ce qui est très souvent le cas, tu peux raccourcir:
Code : Sélectionner tout - Visualiser dans une fenêtre à part ... = (int x, int y) => { return x + y; };
Et si tu ne fais que renvoyer une valeur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part ... = (x, y) => { return x + y; };
Et si tu n'as qu'un paramètre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part ... = (x, y) => x + y;
Par contre si tu n'en as pas il te faut mettre les parenthèses :
Code : Sélectionner tout - Visualiser dans une fenêtre à part ... = x => x + 1;
Donc essentiellement du sucre syntaxique pour améliorer la lisibilité du code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ... = () => 1;
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager