總所周知,.NET出現(xiàn)在.net framework 2.0,為什么要在2.0引入泛型那,因?yàn)槲④浽陂_始開發(fā).net框架時(shí)并沒有想過多個(gè)類型參數(shù)傳輸時(shí)對(duì)方法的重構(gòu),這樣一來,開發(fā)人員就要面對(duì)傳輸多種類型的參數(shù)而不得以寫多個(gè)方法,但是,開發(fā)者的智慧是無限的,創(chuàng)造性也由此被挖掘出來,在泛型之前,便有開發(fā)者為了提到代碼利用率便想到使用object類型為參數(shù)類型來傳遞參數(shù),這無疑解決了多個(gè)類型的參數(shù)傳輸時(shí)并需要寫多個(gè)方法的問題。那么object類型為什么能實(shí)現(xiàn)接受多個(gè)不同類型的參數(shù)那?有了object類型還為什么要設(shè)計(jì)泛型那?object類型又有那么弊端那?其實(shí)有點(diǎn)基礎(chǔ)的開發(fā)人員應(yīng)該都知道object類型是所有類型的父類,通過里氏轉(zhuǎn)換原則我們知道所有父類出現(xiàn)的地方都可以用子類替換,這樣就可以接收多個(gè)參數(shù)了,同時(shí)因?yàn)閛bject類型轉(zhuǎn)換裝拆箱對(duì)性能的影響,在2.0時(shí),微軟推出了泛型。

     下面,我們引入泛型的聲明和調(diào)用:

1    public static void Show<T>(T tParameter)2       {3            Console.WriteLine($"This is{typeof(GenericClass)}Show<T>,paratype={tParameter.GetType()},value={tParameter}");4       }

    打印的內(nèi)容我們沒必要關(guān)注,我們只看方法頭,我們可以看到方法頭和參數(shù)里面加了T這個(gè)字母,其實(shí)這就是泛型聲明的規(guī)則,泛型在聲明時(shí),需要在方法頭加上<T>(T parm),
注意,尖括號(hào)里面的字母是可變的,可以是任何字母,但是尖括號(hào)里面的字母必須和參數(shù)里面的字母要一致,這樣一個(gè)方法就聲明好了。

  下面我們接下來研究下泛型的調(diào)用過程,泛型是如何在未命名參數(shù)類型的情況下來聲明參數(shù)類型的,在下面程序入口我寫了兩個(gè)List的類型

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營銷培訓(xùn)

        		

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式