位置:首頁 > 軟件操作教程 > 編程開發(fā) > C# > 問題詳情

C# Lambda表達(dá)式的參數(shù)

提問人:劉團(tuán)圓發(fā)布時(shí)間:2020-12-08

    在前面的代碼中,Lambda表達(dá)式使用類型推理功能來確定所傳遞的參數(shù)類型。實(shí)際上這不是必需的,也可以定義類型。例如,可使用下面的Lambda表達(dá)式:

    (int paramA, int paramB) => paramA + paramB

    其優(yōu)點(diǎn)是代碼更便于理解,缺點(diǎn)是不夠簡明靈活。在前面委托類型的示例中,可以通過隱式類型化的Lambda表達(dá)式來使用其他數(shù)字類型,例如,long變量。

    注意,不能在同一個(gè)Lambda表達(dá)式中同時(shí)使用隱式和顯式的參數(shù)類型。下面的Lambda表達(dá)式就不會(huì)編譯,因?yàn)閜aramA是顯式類型化的,而paramB是隱式類型化的:

    (int paramA, paramB) => paramA + paramB

    Lambda表達(dá)式的參數(shù)列表始終包含一個(gè)用逗號(hào)分隔的列表,其中的參數(shù)要么都是顯式類型化的,要么都是隱式類型化的。如果只有一個(gè)隱式類型化的參數(shù),就可以省略括號(hào);否則就需要在參數(shù)列表上加上括號(hào),如前面所示。例如,下面的Lambda表達(dá)式只有一個(gè)參數(shù),且是隱式類型化的:

    paraml => paraml * paraml

還可以定義沒有參數(shù)的Lambda表達(dá)式,這使用空括號(hào)來表示:

    ()=> Math.PI

當(dāng)委托不需要參數(shù),但需要返回一個(gè)double值時(shí),就可以使用這個(gè)Lambda表達(dá)式。

繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部