c 中的泛型委託詳解

2022-10-06 05:42:08 字數 1141 閱讀 3363

今天學習一下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...