首先定義一個單參數的 delegate
delegate int Del(int x);
以傳統 delegate 的語法來建構 delegate
Del a = delegate(int x) { return x + 2; };
去掉 delegate 改成 Lambda 表示式
Del a = (int x) => { return x + 2; };
由於大括號裡只有一句陳述式,而且是一個 return 的陳述式,所以可以省略大括號跟 return
Del a = (int x) => x + 2;
在 delegate 已經有定義輸入參數的型別,所以在小括號裡的型別可以省略
Del a = (x) => x + 2;
由於小括號裡面只有一個輸入參數,所以可以再進一步省略小括號
Del a = x => x + 2;
參考來源:
Lambda 運算式 (C# 程式設計手冊)
寫的真好,看到演進後,對 Lambda 表示式終於有比較了解了。
回覆刪除