Lambda Expression 就是要簡化寫方法
前言
要給Func方法的時候 除了真的寫一個方法外還有一些減少程式碼的方式
匿名方法
MSDN - 匿名方法
看範例程式碼
請看紅線的地方 因為是匿名方法 所以不用取名稱 直接給Func
所以就是把 public string Method 換成 delegate
注意方沒有參數的時候 就會是Func<string> doo= delegate () { return "B"; };
Lambda Expression
MSDN - Lambda 運算式
看範例程式碼
最大的差異 就是不用打delegate 改打=> (念作goes to)
位置換到輸入參數的 右邊去了
有大括號可以多行程式碼的寫法叫做陳述式 Lambda
還有更簡化的寫法就是想辦法簡化為一行code
就可以去除大括號 跟 return 就叫做運算式 Lambda
看範例程式碼
其實 輸入參數可以由Func就知道型別 所以int x的int 可以不用打
再加上只有一個參數時連括號都不用打
不過當有兩個參數時就不能省略括號的
範例如下
改用Func完整範例
可以看到 最後程式碼 簡化了不少
結語
說明一下 委派那篇說道 Delegate - 可能是你天天都用 但是卻不知道的功能的意思
現在應該常常會用到Linq的where 吧 那就是Delegate ( Func)
簡化程式碼歷史最後一篇 就到這邊啦
下次再聊囉
如果內容有誤請多鞭策謝謝