ホームページ > バックエンド開発 > C++ > C# における `=>` 構文は何を意味しますか?

C# における `=>` 構文は何を意味しますか?

Mary-Kate Olsen
リリース: 2025-01-11 19:47:41
オリジナル
311 人が閲覧しました

What Does the `=>` C# における構文の意味?

C# の謎の '=>' 構文を詳しく調べる

C# コードで謎の '=>' 構文に遭遇し、それが何を意味するのか疑問に思ったことはありますか?それを解明し、その多様な用途を探ってみましょう。

ラムダ演算子と呼ばれるこの複雑な表記法は、バージョン 3.0 以降、C# 言語に不可欠な部分となっています。もともとラムダ式で使用されていたもので、匿名メソッドの優れた代替手段となります。これらの式は、完全なシグネチャを明示的に宣言せずに関数を定義するコンパクトな方法を提供します。

たとえば、次のコードは「=>」構文を使用してラムダ式を作成します。

<code class="language-c#">Func<Person, string> nameProjection = p => p.Name;</code>
ログイン後にコピー
この式は、次の匿名メソッドと同等です:

<code class="language-c#">Func<Person, string> nameProjection = delegate (Person p) { return p.Name; };</code>
ログイン後にコピー
どちらの場合も、デリゲートは Person をパラメータとして受け取り、その Name プロパティを文字列として返します。

ただし、「=>」構文は C# 6 以降で真価を発揮します。これは式本体のメンバーに使用され、簡潔な式を使用してプロパティとメソッドを定義できるため、コードが大幅に簡素化されます。

次の例を考えてみましょう:

<code class="language-c#">// 表达式主体属性
public int IsValid => name != null && id != -1;

// 表达式主体方法
public int GetHashCode() => id.GetHashCode();</code>
ログイン後にコピー
これらの式は、長いコード ブロックを使用せずに、プロパティとメソッドの動作を定義するためのより簡潔な方法を提供します。

さらに知識を深めたい場合は、次のリソースを参照してください:

  • 匿名メソッド (C# 2.0) とラムダ式 (C# 3.0) の違い
  • ラムダとは何ですか?
  • C# ラムダ式、なぜそれを使用する必要があるのですか?

以上がC# における `=>` 構文は何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート