C# 中的 Lambda 表示式是什麼?
Lambda 表示式是表示匿名方法的更好方法。匿名方法和 Lambda 表示式都允許您內聯定義方法實現,但是,匿名方法明確要求您為方法定義引數型別和返回型別。
表示式 Lambda,其主體為表示式:(輸入引數) => 表示式
語句 Lambda,其主體為語句塊:(輸入引數) => { <語句序列> }
任何 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<double, double> cube = x => x * x * x;
Func<int, int, bool> testForEquality = (x, y) => x == y;
Func<int, string, bool> isTooLong = (int x, string s) => s.Length > x;
C# 7.0,C# 語言提供了對元組的內建支援。您可以將元組作為引數提供給 Lambda 表示式,並且您的 Lambda 表示式也可以返回元組。
在 Lambda 表示式中引入的變數在封閉方法中不可見。
Lambda 表示式不能直接捕獲封閉方法中的 in、ref 或 out 引數。
Lambda 表示式中的 return 語句不會導致封閉方法返回。
如果跳轉語句的目標在 Lambda 表示式塊之外,則 Lambda 表示式不能包含 goto、break 或 continue 語句。如果目標在塊內,則從 Lambda 表示式塊外部進行跳轉也是錯誤的。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP