Compréhension approfondie de l'opérateur Lambda en C#
L'opérateur Lambda ("=>") en C# est un sucre syntaxique puissant qui simplifie la création de délégués anonymes et de corps d'expression.
Expression lambda
Les expressions Lambda offrent une alternative plus propre aux méthodes anonymes sans déclarer explicitement un délégué. Ils sont généralement utilisés comme paramètres Lambda de types délégués, tels que Func<T, TResult>
ou Action<T>
.
Par exemple, créez un délégué qui renvoie le nom d'une personne :
Méthode traditionnelle de rédaction des commissions :
<code class="language-csharp">Func<Person, string> nameProjection = delegate (Person p) { return p.Name; };</code>
Simplifié grâce à la syntaxe Lambda :
<code class="language-csharp">Func<Person, string> nameProjection = p => p.Name;</code>
Membres du corps d'expression
À partir de C# 6, la syntaxe Lambda est étendue pour prendre en charge les membres du corps d'expression pour les propriétés et les méthodes. Cela permet de définir l'implémentation d'une propriété ou d'une méthode à l'aide d'expressions simplifiées sans utiliser de blocs de code traditionnels.
Par exemple, définissez un attribut IsValid
pour vérifier si le nom de la personne n'est pas vide et l'ID n'est pas -1 :
<code class="language-csharp">public int IsValid => name != null && id != -1;</code>
De même, la méthode GetHashCode
peut être implémentée en utilisant la syntaxe Lambda :
<code class="language-csharp">public int GetHashCode() => id.GetHashCode();</code>
Plus de ressources d'apprentissage
Apprentissage profond :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!