C#筆記:delegate和lambda表達式
lambda表達式,也就是匿名方法,與普通的方法相比,它缺少名字。
剛才好像在講廢話,但并不是,下面是lambda和普通方法的對比:
第一段代碼中l(wèi)ambda的部分是:
這是lambda中和Action類型委托相兼容的格式,沒有方法名,沒有形式參數(shù),沒有返回值。
那么,還有沒有別的寫法?有:
str是字符串的字段,del與str看起來相似,del像是函數(shù)的字段。
如果需要形式參數(shù),還可以這么寫:
這樣一來,方法便無須先在某個方法外部定義,然后再在方法內(nèi)引用,可以直接定義成委托后調(diào)用。這個寫法適合邏輯復雜,需要將部分邏輯抽象或重用,但又不適合在外部定義邏輯的方法,算是優(yōu)化代碼的一種技巧。
標簽: