已經有一段時間沒有發布博文了...
今天就寫一寫lambda的一些簡單的使用方法
Lambda 在Msdn 上的描述:
Lambda 表達式是一種可用于創建委托或表達式目錄樹類型的匿名函數。 通過使用 lambda 表達式,可以寫入可作為參數傳遞或作為函數調用值返回的本地函數。 Lambda 表達式對于編寫 LINQ 查詢表達式特別有用。
若要創建 Lambda 表達式,需要在 Lambda 運算符 => 左側指定輸入參數(如果有),然后在另一側輸入表達式或語句塊。 例如,lambda 表達式 x => x * x 指定名為 x 的參數并返回 x 的平方值。
其實Lambda中是使用委托,下面可以寫一個Demo 來驗證它是如何使用的
下面是寫的測試代碼
static D d; static D2 d2; static D3 d3; static void Main(string[] args) { int j = 0; //使用委托的方式 d = () => { j = 10; return j > 3; }; d2 = (x) => { return x == j; }; d3 = (x) => { x += 1; }; //Lambda Func<bool> fd = () => { j = 10; return j > 3; }; Func<int, bool> fd2 = (x) => { return x == j; }; Action<int> fd3 = (x) => { x += 1; }; } }
通過反編譯之后的源碼:
從源碼看得出Lambda表達式的實質上是以委托的形式傳遞的
要注意的一點:
就寫到這吧,或許講述的不到位。如果有不妥,還請指正。謝謝支持。
新聞熱點
疑難解答