Func和Action委託的區別和簡單使用

2022-06-26 20:24:12 字數 1221 閱讀 4655

func和action委託的區別和簡單使用

1、兩種委託的常見形式和區別

(1)、func委託有5個過載形式,區別僅在於它所指向的方法的簽名的引數個數,分別如下:

func

func

func

uncfunc

其中t,t1,..t4是委託指向的方法的引數的型別,tresult為方法的返回型別。

(2)、action委託也有5個過載形式,分別如下:

action

action

action

action

action

其中t,t1,..t4是委託指向的方法的引數的型別。

從上面的委託形式我們就可以分析出來,func和action委託的唯一區別在於func要有返回值, action沒有返回值。

2、簡單示例**

class

program

is .

", num, calfirst(num));

func

functest = program.square;//

func

console.writeline("

the square of is .

", num, functest(num));

secondcalcsquare calsecond =getsquere;

calsecond(num);

//delegate

action

actiontest =program.getsquere;

actiontest(num);

//action

console.readline();

}private

delegate

int firstcalcsquare(int

input);

private

static

int square(int

input)

private

delegate

void secondcalcsquare(int

input);

private

static

void getsquere(int

input)

is .

", input, input *input);

}}

委託, 泛型委託,Func和Action

使用委託來做一些事情,大致思路是 1 定義宣告乙個委託,規定輸入引數和輸出型別。2 寫幾個符合委託定義的方法。3 把方法列表賦值給委託 4 執行委託 internal delegate int mydelegate class programconsole.readkey static ienume...

C 中的Func委託和Action委託

委託時物件導向的程式語言中新加入的一種特性,在c 中引入委託使得c 程式的編寫更加靈活。c 中可以自己定義各種各樣的委託,但是c 語言也預先為我們定義了兩個做常用的委託,乙個是func乙個是action.函式最基本的特點就是輸入輸出,即輸入引數 執行運算 輸出引數,action是一類沒有輸出引數的委...

c 中Action和Func委託

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