C#(20)泛型

9yue5

在C#中罩旋,任何一個類型直接或者間接繼承于Object边涕。



泛型 Generic

定義:泛型能夠?qū)㈩愋妥鳛閰?shù)來傳遞

創(chuàng)建類型時用一個特定的符號如“T”來作為一個占位符代替實際的類型

等待在實例化時再用一個實際的類型來代替


優(yōu)點:1、重用代碼衍锚,保護(hù)類型的安全以及提高性能(裝箱拆箱本來就是對性能的消耗)

? ? ? ? ? ?2友题、 降低強(qiáng)制轉(zhuǎn)換或裝箱操作的成本和風(fēng)險

? ? ? ? ? ?3、可以對泛型參數(shù)進(jìn)行限定以訪問特定數(shù)據(jù)類型的方法


泛型的限制

泛型成員因類型不確定构拳,可能是類咆爽、結(jié)構(gòu)體、字符置森、枚舉……

所以不能使用算術(shù)運算符斗埂、比較運算符等進(jìn)行運算;可以使用賦值運算符 =


泛型類型參數(shù)


泛型類型參數(shù)可以是編譯器識別的任何數(shù)據(jù)類型

泛型類型參數(shù)命名也要遵守命名規(guī)則

1. 泛型類型參數(shù)可以有多個

2. 泛型類型參數(shù)可以是編譯器識別的任何數(shù)據(jù)類型

3. 泛型類型參數(shù)命名需要遵守命名規(guī)則

(1) 使用描述性名稱命名泛型類型凫海,并且使用T作為前綴

(2) 單個字母名稱完全可以讓人了解其表示的含義使用單個大寫字母命名


泛型類型參數(shù)的約束


約束的好處?

可以增加約束類型及其繼承層次結(jié)構(gòu)中的所有類型所支持的允許操作和方法調(diào)用的數(shù)量

null 是空的引用 (空對象)呛凶,值類型比較為false??

引用類型比較恒等空的話 為0,不恒等為false


泛型類寫在<>后面{}前面

方法中寫在()后

注:提示:由于在泛型當(dāng)中需要比較大小行贪,所以該泛型必須是實現(xiàn)了接口(IComparable)


泛型方法


泛型方法是使用泛型類型參數(shù)聲明的方法漾稀,

當(dāng)方法中存在某些參數(shù)的類型不明確的時候就可以使用泛型方法。

未知具體類型的參數(shù)就使用泛型類型參數(shù)替代建瘫。

? ? ? ? ? ?泛型方法重載

泛型類


泛型類封裝了不是特定于具體數(shù)據(jù)類型的操作崭捍,

當(dāng)類中存在未知參數(shù)類型的時候就可以使用泛型類

泛型類最常用于集合。 從集合中添加和移除項這樣的操作都以大體上相同的方式執(zhí)行啰脚,與所存儲數(shù)據(jù)的類型無關(guān)殷蛇。


創(chuàng)建泛型類的過程為:從一個現(xiàn)有的具體類開始,

逐一將每個類型更改為類型參數(shù)橄浓,直至達(dá)到通用化和可用性的最佳平衡粒梦。


泛型類實例化:

泛型類設(shè)計規(guī)則(怎么用泛型類)

1. 將哪些類型通用化為泛型類型參數(shù)

2. 如果存在約束,應(yīng)對泛型類型參數(shù)應(yīng)用什么約束

3. 是否將泛型行為分解為基類和子類

4. 是否實現(xiàn)一個或多個泛型接口

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末荸实,一起剝皮案震驚了整個濱河市匀们,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌准给,老刑警劉巖泄朴,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異露氮,居然都是意外死亡叼旋,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進(jìn)店門沦辙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人讹剔,你說我怎么就攤上這事油讯∠昝瘢” “怎么了?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵陌兑,是天一觀的道長沈跨。 經(jīng)常有香客問我,道長兔综,這世上最難降的妖魔是什么饿凛? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮软驰,結(jié)果婚禮上涧窒,老公的妹妹穿的比我還像新娘。我一直安慰自己锭亏,他們只是感情好纠吴,可當(dāng)我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著慧瘤,像睡著了一般戴已。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上锅减,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天糖儡,我揣著相機(jī)與錄音,去河邊找鬼怔匣。 笑死握联,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的劫狠。 我是一名探鬼主播拴疤,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼独泞!你這毒婦竟也來了呐矾?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤懦砂,失蹤者是張志新(化名)和其女友劉穎蜒犯,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體荞膘,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡罚随,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了羽资。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片淘菩。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出潮改,到底是詐尸還是另有隱情狭郑,我是刑警寧澤,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布汇在,位于F島的核電站翰萨,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏糕殉。R本人自食惡果不足惜亩鬼,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望阿蝶。 院中可真熱鬧雳锋,春花似錦、人聲如沸赡磅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽焚廊。三九已至冶匹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間咆瘟,已是汗流浹背嚼隘。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留袒餐,地道東北人飞蛹。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像灸眼,于是被迫代替她去往敵國和親卧檐。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內(nèi)容

  • object 變量可指向任何類的實例焰宣,這讓你能夠創(chuàng)建可對任何數(shù)據(jù)類型進(jìn)程處理的類霉囚。然而,這種方法存在幾個嚴(yán)重的問題...
    CarlDonitz閱讀 913評論 0 5
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 3,815評論 1 10
  • 前言 人生苦多匕积,快來 Kotlin 盈罐,快速學(xué)習(xí)Kotlin! 什么是Kotlin闪唆? Kotlin 是種靜態(tài)類型編程...
    任半生囂狂閱讀 26,215評論 9 118
  • 感謝毛婆婆一時腦熱發(fā)起的“每天讀書一小時”計劃盅粪,這是要幫助姨媽徹底根治懶癌晚期啊。更感謝毛婆婆同意陪娃讀繪本也算完...
    田西閱讀 515評論 0 0
  • 五月的太陽依然那么炙熱多情悄蕾,懶洋洋的躺在天上看著地上忙碌的人們票顾,日復(fù)一日,一成不變。尤其是高三库物,整天重復(fù)著上課霸旗,下...
    一碗鍋包肉閱讀 233評論 0 0