Lambda表达式的语法格式
Lambda表達(dá)式的語(yǔ)法格式:
參數(shù)列表 => 語(yǔ)句或語(yǔ)句塊
“Lambda表達(dá)式”是委托的實(shí)現(xiàn)方法,所以必須遵循以下規(guī)則:
1)“Lambda表達(dá)式”的參數(shù)數(shù)量必須和“委托”的參數(shù)數(shù)量相同;
2)如果“委托”的參數(shù)中包括有ref或out修飾符,則“Lambda表達(dá)式”的參數(shù)列中也必須包括有修飾符;
3)如果“委托”有返回類(lèi)型,則“Lambda表達(dá)式”的“語(yǔ)句或語(yǔ)句塊”中也必須返回相同類(lèi)型的數(shù)據(jù);
4)如果“委托”有幾種數(shù)據(jù)類(lèi)型格式而在“Lambda表達(dá)式”中“編譯器”無(wú)法推斷具體數(shù)據(jù)類(lèi)型時(shí),則必須手動(dòng)明確數(shù)據(jù)類(lèi)型。
TIP:
Lambda表達(dá)式本身沒(méi)有類(lèi)型,事實(shí)上,CLR并沒(méi)有Lambda表達(dá)式的概念,所以,并不存在直接從Lambda表達(dá)式中調(diào)用的成員.Lambda表達(dá)式中的運(yùn)算符不會(huì)編譯,計(jì)量調(diào)用object的方法也不行.
雖然Lambda表達(dá)式本身無(wú)類(lèi)型,但一旦賦值或者轉(zhuǎn)型, Lambda表達(dá)式就表現(xiàn)為有一個(gè)類(lèi)型.
不能將Lambda表達(dá)式賦給隱式類(lèi)型的局部變量. 因?yàn)長(zhǎng)ambda表達(dá)式是無(wú)類(lèi)型的,所以編譯器不知道生成什么類(lèi)型的變量.
在Lambda表達(dá)式內(nèi)部引入的變量,其作用域僅限于Lambda表達(dá)式主體
注意 : 使用lambda表達(dá)式要小心閉包!
轉(zhuǎn)載于:https://www.cnblogs.com/Mazexal/p/4106559.html
總結(jié)
以上是生活随笔為你收集整理的Lambda表达式的语法格式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 一幅画十六芒星盾---程序员or艺术家
- 下一篇: C#如何将线程中的代码抛到主线程去执行