C#知識梳理——泛型(1)
1.???? 什么是泛型 或者說微軟定義好的泛型
2.???? 自定義泛型


3.???? 泛型方法
理解泛型方法,首先要明確的一點,泛型方法也是一種方法,它擁有方法的特性。但是從直觀的感受來看,它與普通的方法又是不一樣的,泛型方法的定義形式不同于普通的方法的定義,最顯著的特點就是<>。
4.?? 泛型的優(yōu)點和原理
泛型的優(yōu)點其實很明確,那就是“通用”二字。一般能做到“通用“的東西都可以說相當靈活。

CLR調(diào)用中,給了具體的類型。

5.? ? ?泛型約束
泛型約束就是約束泛型傳入?yún)?shù)的類型 常見的有幾類,包括
????????//[1] where T:new()//約束--表示T類型只接受帶一個無參數(shù)的構(gòu)造函數(shù) (人話就是可以用new T()--比如普通類就默認帶一個無參數(shù)的構(gòu)造 像接口就沒有構(gòu)造函數(shù))--->//Show(IDoctor);-->?
??????? //[2] strcut: where T:strcut? -->只能傳值類型?? where T:int -->? 值類型約束例子就是只能傳int類型的過來
??????? //[3] class 引用類型約束 where T:class? -->只能傳引用類型
??????? //[4] 自定義類型約束===>這個最簡單,只要把自己寫的類型放上去即可
??????? //值類型:結(jié)構(gòu)體、枚舉、int、。。。? 引用類型:類、接口、委托、object、字符串
??????? //注意 where T:struct,class 這樣的定義就沖突了,因為沒有一個類型既使值類型又是引用類型
此篇內(nèi)容如有紕漏,請留言。