Maison >développement back-end >C++ >Membres à expression par rapport aux expressions Lambda: quelle est la différence dans l'utilisation de l'opérateur de C #?

Membres à expression par rapport aux expressions Lambda: quelle est la différence dans l'utilisation de l'opérateur de C #?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-30 23:16:10331parcourir

`` Utilisation de l'opérateur? "/> Expression-Bodied Members vs. Lambda Expressions: What's the Difference in C#'s `=>
</p> <> C # Dans la double identité de l'opérateur: l'expression de l'opérateur: l'élément d'expression et l'expression de lambda <p> <strong>
</strong> En C #, </p> Le caractère informatique a deux utilisations très différentes: <p>
<code>=></code> EXPRESSION DES MEMBRES TRAVAIL </p>
<h3> Dans le travail du membre de l'expression, le </h3> sépare la propriété ou le nom de la méthode est séparé de son sujet. Cette grammaire permet à une seule expression de définir des membres sans utiliser de gros supports et des blocs de get / set individuels. <p>
<code>=></code>
</p> <效> attendre: <pre class=<code class=" language-csharp>public int MaxHealth => Memory[Address].IsValid ? Memory[Address].Read<int>(Offs.Life.MaxHp) : 0; </p> <p> <strong> </strong> Initialisation du champ </p> <pre class="brush:php;toolbar:false"><code class="language-csharp">public int MaxHealth { get { return Memory[Address].IsValid ? Memory[Address].Read<int>(Offs.Life.MaxHp) : 0; } }</code> Dans l'initialisation du champ, l'opérateur

n'est pas utilisé. Au lieu de cela, la grammaire traditionnelle est affectée au terrain.

=> attendre:

<code class="language-csharp">public int MaxHealth = x ? y : z;</code>

Différences de clés:

La principale différence entre
<code class="language-csharp">public int MaxHealth; // 字段声明
public int MaxHealth = x ? y : z; // 字段赋值</code>
L'initialisation de l'élément d'expression et du champ est la portée et le moment de la valeur. Les membres expressifs définissent un Getter (ou méthode) d'attribut, qui sera exécuté à chaque fois des attributs d'accès. D'un autre côté, l'initialisation du champ n'est définie qu'une fois la valeur de champ définie lors du type instancié.

Lambda Expression

Dans l'expression de Lambda, l'opérateur

est utilisé pour séparer les paramètres d'entrée de la fonction anonyme de son sujet. LAMBDA L'expression est utilisée pour définir une méthode ou une expression anonyme qui peut être transmise à d'autres fonctions comme paramètres. Ils n'ont rien à voir avec les membres de l'expression.

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