Lambda 表達式是表示匿名方法的更好方法。匿名方法和 Lambda 表達式都允許您內聯定義方法實現,但是,匿名方法明確要求您定義方法的參數類型和傳回類型。
以表達式作為其表達式的表達式 lambda身體: (input−parameters) => 表達式
以語句區塊作為其主體的語句 lambda:
(input−parameters) => {
任何 lambda 表達式都可以轉換為委託類型。 lambda 表達式可以轉換為的委託類型由其參數和傳回值的型別定義。如果 lambda 表達式不傳回值,則可以將其轉換為 Action 委託類型之一;否則,它可以轉換為 Func 委託類型之一。
static void Main(string[] args){ Func<int, int> square = x => x * x; Console.WriteLine(square(5)); Console.ReadLine(); }
=> 運算子右邊有一個表達式的 lambda 表達式稱為表達式 lambda。表達式lambda 傳回表達式的結果,並採用以下基本形式
Action line = () => Console.WriteLine();
Func
Func
Func
C# 7.0 中,C# 語言提供了對元組的內建支援。您可以提供一個元組作為 lambda 表達式的參數,並且您的 lambda 表達式也可以傳回一個元組。
lambda 表達式中引入的變數在封閉方法中不可見。
lambda 表達式無法直接從封閉方法擷取 in、ref 或 out 參數。
lambda 表達式中的 return 語句不會導致封閉方法回傳。
如果跳轉語句的目標位於 lambda 表達式區塊之外,則 lambda 表達式不能包含 goto、break 或 continue 語句。如果目標位於 lambda 表達式區塊內部,則在 lambda 表達式區塊外部使用跳躍語句也是錯誤的。
以上是C#中的Lambda表達式是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!