今天學習一下c#中的泛型委託。
1.一般的委託,delegate,可以又傳入引數(<=32),宣告的方法為 public delegate void somethingdelegate(int a);
using system;
using system.collections.generic;
using system.linq;
usingwww.cppcns.com system.text;
using system.threading.tasks;
namespace delegatesummary
public void getint1(int a)
public void getint2(int a)
} class program
}}輸出結果,注意兩種方式的不同,第一種將方法作為委託的引數,第二種是將方法繫結到委託。
2.泛型委託之action,最多傳入16個引數,無返回值。
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace delegatesummary
public static void testaction(action action,t p1)
public static void testaction(action action, t p1, p p2)
public static void getstring(string a)
public static void getint(int a)
public static void getstringandint(int a, string name) }}
測試結果:
3.泛型委託之func,最多傳入16個引數,有返回值。(寫法與action類似,只是多了返回值)
4.泛型委託之predicate(不是很常用),返回值為bool,用在array和list中搜尋元素。(沒有用到過,等用到了再更新)
本文標題: c#中的泛型委託詳解
本文位址:
C 委託三 泛型委託
今天一直在研究委託,因為有函式指標的基礎,還容易上手,但是對於一些概念和實踐,總是為了弄的非常清楚而糾結,這幾篇關於委託的文章我是結合 c 與.net4高階程式設計 msdn 借鑑其他人的博文來總結話語,以最直接簡潔的話來闡述清楚 在我弄懂之前網上的感覺都很模糊 namespace genericd...
c 泛型和委託
listlst new list listl lst.findall delegate t t 或使用linq private void button1 click object sender,eventargs e if mylist.find mathchar null else private...
C 泛型委託 Action Func
泛型委託實際上就是.net framework預定義的委託,基本涵蓋了所有常用的委託,所以一般不用使用者重新宣告。簡潔方便!無返回值的泛型委託 action系列泛型委託,是沒有返回引數的委託,呼叫的時候和普通的委託沒有宣告兩樣。示例 action test1 actiontest2 int x,do...