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