深入理解C#中的Lambda運算子(=>
)
問題:
C#中的=>
語法代表什麼?
解答:
=>
語法代表Lambda運算子。此運算符在C# 3中引入,具有多種用途。
Lambda表達式 (C# 3-5):
在此上下文中,=>
用於建立Lambda表達式。這些表達式是匿名方法的簡潔形式,可讓您將匿名函數編寫為單一表達式。例如:
<code class="language-csharp">Func<Person, string> nameProjection = p => p.Name;</code>
此程式碼建立一個委託,它接受一個Person參數並將其名稱作為字串傳回。它等同於以下匿名方法:
<code class="language-csharp">Func<Person, string> nameProjection = delegate (Person p) { return p.Name; };</code>
表達式主體成員 (C# 6):
在C# 6中,相同的=>
語法用於表達式主體成員。這些是其主體定義為表達式而不是程式碼區塊的屬性或方法。例如:
<code class="language-csharp">// 表达式主体属性 public int IsValid => name != null && id != -1; // 表达式主体方法 public int GetHashCode() => id.GetHashCode();</code>
這些特性為編寫更簡潔、更具表現力的程式碼提供了語法糖。
更多資源:
以上是C# 中「=>」運算子是什麼意思?的詳細內容。更多資訊請關注PHP中文網其他相關文章!