ホームページ >バックエンド開発 >C++ >c#expression-bodiedメンバーの `=>`とはどういう意味ですか?

c#expression-bodiedメンバーの `=>`とはどういう意味ですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-30 23:26:11627ブラウズ

` c#expression-bodiedメンバーの意味は? " /> What Does `=>
</p><性>

次のコードに遭遇した場合:

これはラムダの発現ではなく、表現のメンバーであることを理解することが重要です。

<code class="language-csharp">public int MaxHealth =>
        Memory[Address].IsValid ? 
        Memory[Address].Read<int>(Offs.Life.MaxHp) : 
        0;</code>
式のメンバー

コンパイラが式本文のメンバーに遭遇すると、ゲッターに変換されます:

初期化デバイスを備えた式ボディとフィールドのメンバー式の式と初期化デバイスを使用したフィールドの違いは、次の内容を比較することで説明できます。
<code class="language-csharp">public int MaxHealth
{
    get
    {
        return Memory[Address].IsValid ? Memory[Address].Read<int>(Offs.Life.MaxHp) : 0;
    }
}</code>

式の式は、属性にアクセスするたびにそれを呼び出すゲッターです。一方、インスタンス化されたときにフィールドは1回初期化されます。 文法キャンディー

式のメンバーは純粋な文法砂糖であり、既存の関数以外に追加の機能はありません。次のコンテンツに、メンバーを属性するよりシンプルな構文を提供します。
<code class="language-csharp">// 表达式体成员属性
public int MaxHealth => x ? y : z;</code>
<code class="language-csharp">// 带有字段初始化器的字段
public int MaxHealth = x ? y : z;</code>
return statement(非表示の返品式)

文ブロックなし(本体は単一の式です)

キーワードを「取得」する必要はありません(式の表現の文法に隠されています)

追加の説明

  • 式本文のメンバーは、インデックス、メソッド、演算子、コンストラクター、および承認にも適しています(C#7.0以降)。
  • ネストされたタイプ、イベント、またはフィールドには適していません。
  • それらは「=&gt;」のラムダ式に似ていますが、実際のラムダの表現ではありません。式本体のメンバーは、コンパイラが舞台裏で特定のメンバーを生成することのみを示します。

以上がc#expression-bodiedメンバーの `=>`とはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。