C#中內(nèi)置的泛型委托Func與Action
當(dāng)前位置:點(diǎn)晴教程→知識管理交流
→『 技術(shù)文檔交流 』
簡介從C# 3.0起很少需要自己聲明委托。 Func委托說明Func委托有很多種形式,如下所示: 這里以Func<T,TResult>為例說明該委托的用法。 原型如下所示:
結(jié)合前面文章委托(一)中對于委托類型的圖解: 那么這個(gè)內(nèi)置泛型委托的圖解如下: 示例依據(jù)前面的文章委托(一)中使用委托的步驟來說明這個(gè)內(nèi)置泛型委托的用法: 由于這個(gè)是內(nèi)置的泛型委托,包含在
然后創(chuàng)建委托實(shí)例,并添加第一個(gè)方法:
這里使用了lambda表達(dá)式,以后再進(jìn)行解釋。這里將聲明委托變量與實(shí)例化分開了,一般可以將這兩個(gè)步驟合并,如下所示:
這個(gè)委托對象的圖解如下所示: 調(diào)用這個(gè)委托對象:
結(jié)果如下所示: 其實(shí)也可以直接在select中直接寫一個(gè)lambda表達(dá)式,這種方式更常見:
輸出結(jié)果如下所示: 其實(shí)是一樣的。 查看select方法說明: 它的參數(shù)類型就是一個(gè)參數(shù)類型為string返回值類型為string的內(nèi)置func委托類型。 Lambda表達(dá)式的類型是由編譯器隱式推斷的,它通常表示為委托類型或表達(dá)式樹類型,具體取決于上下文。最常見的用法是將Lambda表達(dá)式賦值給委托類型或傳遞給接受委托類型參數(shù)的方法。 以上就是C#中的內(nèi)置泛型委托func的介紹與用法示例,希望對你有所幫助。 Action委托Action委托也有很多形式,如下所示: 本文以Action<T> 該委托類型的原型如下所示:
它的圖解如下所示: 示例聲明委托類型的變量:
實(shí)例化該委托變量,即為委托添加方法:
但是一般可以合為一步:
調(diào)用委托:
輸出結(jié)果如下所示: 但是可以發(fā)現(xiàn)我們的代碼寫的還不構(gòu)簡潔,用到了另外聲明的方法,其實(shí)可以用Lambda表達(dá)式來寫方法,不需要自己另外寫:
輸出結(jié)果如下所示: 以上就是C#中的內(nèi)置泛型委托Action的介紹與用法示例,希望對你有所幫助。 refAction Delegate (System) | Microsoft Learn Func Delegate (System) | Microsoft Learn 該文章在 2024/1/24 15:05:58 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |