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
Libérer: 2025-01-11 19:56:42
original
688 Les gens l'ont consulté

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>
Copier après la connexion

Simplifié grâce à la syntaxe Lambda :

<code class="language-csharp">Func<Person, string> nameProjection = p => p.Name;</code>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal