深入探討 C# 中神秘的 '=>' 語法
您是否在 C# 程式碼中遇到過神秘的 '=>' 語法,並想知道它的意思?讓我們揭開它的神秘面紗,並探索其多樣化的用法。
這種令人費解的符號,稱為 lambda 運算符,自 C# 3.0 版本以來就已成為 C# 語言不可或缺的一部分。它最初用於 lambda 表達式,為匿名方法提供了一種簡潔的替代方案。這些表達式提供了一種緊湊的方式來定義函數,而無需明確聲明其完整的簽名。
例如,以下程式碼使用 '=>' 語法建立了一個 lambda 表達式:
<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# 中 `=>` 語法的意思是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!