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

2021-05-26 01:21:08 字數 1381 閱讀 3450

前言:下面幾條都是根據自己開發經驗和網上資料整理總結的,初學者可適當入門學習,加深印象,高手請54.

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

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

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

func

func

func

func

func

其中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

<

int, 

int>

functest 

=program.square;

//func

console.writeline(

"the square of  is .

", num, functest(num));

secondcalcsquare calsecond 

=getsquere;

calsecond(num);

//delegate

action

<

int>

actiontest 

=program.getsquere;

actiontest(num);

//action

console.readline();

}private

delegate

intfirstcalcsquare(

intinput);

private

static

intsquare(

intinput)

private

delegate

void

secondcalcsquare(

intinput);

private

static

void

getsquere(

intinput)

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...