之前一直搞不清楚Lambda表達式的用法,現在抽空看了一下,感覺沒有那麼複雜…
簡單說就是:
args => expression
簡單取替整個Method,簡單常見有
沒有參數:() => …
一個參數:(x) => …
三個參數:(x,y,z) => …
通常會用短variable,因為lambda表達式本身就為簡潔而存在。(可老師教不要用abc做variable名啊,但lambda越簡越好)
lambda表達式預設會自動套用之前用的variable,例如:
var books = new bookshelf().Getbooks();
var cheapBooks = books.FinAll(b => b.Price < 100);
上述中b就預設是books,因為這一句明顯是在處理books,所以C#自動的將它定義為books.
通常Lamdba都會跟委托(Delegate) func<>及action<>一起使用。