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

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

提問人:劉團圓發(fā)布時間:2020-12-08

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

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

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

    注意,不能在同一個Lambda表達式中同時使用隱式和顯式的參數(shù)類型。下面的Lambda表達式就不會編譯,因為paramA是顯式類型化的,而paramB是隱式類型化的:

    (int paramA, paramB) => paramA + paramB

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

    paraml => paraml * paraml

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

    ()=> Math.PI

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

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

相關視頻回答
回復(0)
返回頂部