C 中的Func委託和Action委託

2021-08-14 09:12:30 字數 658 閱讀 5340

委託時物件導向的程式語言中新加入的一種特性,在c#中引入委託使得c#程式的編寫更加靈活。

c#,中可以自己定義各種各樣的委託,但是c#語言也預先為我們定義了兩個做常用的委託,乙個是func乙個是action.

函式最基本的特點就是輸入輸出,即輸入引數-> 執行運算-> 輸出引數,action是一類沒有輸出引數的委託,但是輸入引數可以為c#中的任意型別,即可以委託執行一下形式的方法。

public void f1(string str, int i)

該函式用action委託就是:

action do_f1 = f1;
使用時候直接用

do_f1("hello", 12);
知道了action委託,很好理解func委託,func委託是由返回值的委託,其中,輸入引數和返回值都用泛型表示,例如以下函式的func委託:

public

string

f2(int i1, int i2)

其func委託為:

func do_f2=f2;
使用的時候直接用:

result = do_f2(1,2);

c 中Action和Func委託

泛型acion委託表示引用乙個void返回型別的方法,至多可以傳遞至16個引數型別,沒有泛型的action類可呼叫沒有引數的方法,如 class test static void main string args 泛型func委託表示引用帶返回型別的方法,至多可以傳遞16個引數型別和乙個返回型別,f...

C 中的Action和Func(范型委託)

以前使用委託需要定義委託然後繫結方法,不夠簡潔。現在通過action和func可以簡化委託的使用。action表示有n個引數 引數型別可以不同 但沒有返回值的委託。func表示有n個引數 引數型別可以不同 且有乙個返回值的委託 返回值型別為tresult 以下為本人除錯時的 using system...

C 委託變數Action和Func

c 中的委託 簡單來說,使用委託可以將多個方法繫結到同乙個委託變數,當呼叫此變數時,可以依次呼叫所有方法。action委託 1.action a printstring action可以指向乙個沒有返回值,也沒有引數的方法。actiona printstring action 還可以接受沒有返回值,...