", connu sous le nom d'opérateur lambda, est un puissant sucre syntaxique introduit en C# qui permet la création..."/> ", connu sous le nom d'opérateur lambda, est un puissant sucre syntaxique introduit en C# qui permet la création...">

Maison >développement back-end >C++ >Comment l'opérateur Lambda de C# peut-il simplifier la création de délégués et les membres au corps d'expression ?

Comment l'opérateur Lambda de C# peut-il simplifier la création de délégués et les membres au corps d'expression ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-11 19:56:42751parcourir

How Can C#'s Lambda Operator Simplify Delegate Creation and Expression-Bodied Members?

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 :

  • Quelle est la différence entre les méthodes anonymes et les expressions Lambda ?
  • Qu'est-ce qu'une expression Lambda ?
  • Pourquoi devriez-vous utiliser des expressions Lambda en C# ?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn