日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

FuncT,TResult泛型委托

發(fā)布時(shí)間:2024/9/20 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FuncT,TResult泛型委托 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

描述:

封裝一個(gè)具有一個(gè)參數(shù)并返回TResult參數(shù)指定的類(lèi)型值的方法.

語(yǔ)法:

public delegate TResult Func<T,TResult>(T arg);

參數(shù)類(lèi)型:

T:此委托封裝的方法的參數(shù)類(lèi)型.

TResult:此委托封裝的方法的返回值類(lèi)型.

參數(shù):

arg:委托封裝的方法的參數(shù)

返回值:此委托封裝的方法的返回值

備注:

可以使用此委托構(gòu)造一個(gè)能以參數(shù)形式傳遞的方法,而不用顯式聲明自定義的委托.該方法必須與此委托的方法簽名想對(duì)應(yīng).

也就是說(shuō),封裝的方法必須具有一個(gè)通過(guò)值傳遞給它的參數(shù),并且具有返回值.

注意:

若要引用一個(gè)具有一個(gè)參數(shù)并返回void的方法,則需要使用泛型Action<T>委托.

上面接受的只是有一個(gè)參數(shù),并有返回值的情況,其實(shí)Func委托共有以下形式:

public delegate TResult Func<TResult>(); public delegate TResult Func<T,TResult>(T arg); public delegate TResult Func<T1,T2,TResult>(T1 arg1,T2 arg2); public delegate TResult Func<T1,T2,T3,TResult>(T1 arg1,T2 arg2,T3 arg3); public delegate TResult Func<T1,T2,T3,T4,TResult>(T1 arg1,T2 arg2,T3 arg3,T4 arg4);

即:當(dāng)我們使用有一個(gè)、兩個(gè)、三個(gè)、四個(gè)參數(shù)并有一個(gè)返回值時(shí),可以不用自己定義委托,可以使用已定義好的委托。

例子:

protected void Page_Load(object sender, EventArgs e) {List<int> list = new List<int>();list.AddRange(new int[] { 7, 6, 10, 1, 2, 3, 4, 5, 8 });Func<int, bool> fi = new Func<int, bool>(MoreThan5);IEnumerator<int> ie =list.Where<int>(fi).GetEnumerator();//效果與list.Where<int>(fi).GetEnumerator()一致//IEnumerator<int> ie = list.Where<int>(x => x > 5).GetEnumerator();//效果與list.Where<int>(fi).GetEnumerator()一致//IEnumerator<int> ie = list.Where(delegate(int i){return i > 5;}).GetEnumerator();while(ie.MoveNext()){Response.Write(ie.Current.ToString()+"<br/>"); } }public static bool MoreThan5(int i) {return i > 5; }

頁(yè)面輸出:

7

6

10

8

總結(jié)

以上是生活随笔為你收集整理的FuncT,TResult泛型委托的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。