", 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:42789parcourir

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></t> ou Action<t></t>.

Par exemple, créez un délégué qui renvoie le nom d'une personne :

Méthode traditionnelle de rédaction des commissions :

Func<Person, string> nameProjection = delegate (Person p) { return p.Name; };

Simplifié grâce à la syntaxe Lambda :

Func<Person, string> nameProjection = p => p.Name;

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 :

public int IsValid => name != null && id != -1;

De même, la méthode GetHashCode peut être implémentée en utilisant la syntaxe Lambda :

public int GetHashCode() => id.GetHashCode();

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