關於《3、泛型委託 》
說到了泛型委託,才真正將委託的一些作用真正表現出來。
當遇到這樣的情況:定義了乙個泛型方法,如求乙個泛型集合中最大值,
可能你就會卡在這位置上:
public
static t getmax(list
list)
}return result;
}
這時自然就應該將卡住的那地方的演算法 抽離成委託。再上**
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace tdelegate
; listlistdatetime = new list;
list liststring = new list ;
//只要是泛型集合,自己定義計算getmax的計算方式,就可以重用上啦
int resultint = getmax(listint, (int a, int b) => );
console.writeline("list中最大值是:" + resultint);
datetime resultdatetime = getmax(listdatetime, (datetime dt1, datetime dt2) => );
console.writeline("list中最大值是:" + resultdatetime);
string resultstring = getmax(liststring, (string a, string b) => );//本想用ascii比較的,寫得太囉嗦
console.writeline("list中最大值是:" + resultstring);
console.readkey();
}public
static t getmax(listlist, delgetmaxgetmaxcore)
t result = list[0];
foreach (var item in list)
}return result;}}
}
理解後,其實泛型委託也不是什麼很深奧的東西,跟泛型集合、泛型方法如出一轍地理解。 學習C 委託總結
學習c 委託總結 學過c了,對委託就比較有概念性的認識,c 中的委託其實類似於c中的函式指標,c中我們可以把函式進行指標化,但在c 中不允許這麼操作,所以c 中委託是安全的,它並不是直接對記憶體進行指向,而是編成中介軟體 所以這一點c 比較好,我們應該把委託看成乙個新的概念,類似於類,只不過是個特殊...
委託學習總結(三)泛型委託
之前,我們學習總結了委託這個概念,也闡述了委託,匿名方法,lambda表示式三者之間的關係,那麼今天再來繼續學習委託更深層次的東西 泛型委託,什麼是泛型,這個概念我也會在之後做出總結,這裡不做很深層次的討論,重點是討論泛型和委託如何配合使用,其實泛型這個概念在這裡也不會對我們對委託的理解有太大的影響...
c 事件(續委託之後)
c 事件 續委託之後 你應該先理解了委託之後,再來看我們的事件滴呀 public delegate void mydelegate int val public class test class program public static void do2 int a public static v...