日韩av无码中文字幕,国产午夜亚洲精品国产成人小说,成人影院午夜男女爽爽爽,欧美 亚洲 中文 国产 综合

首頁(yè) 熱點(diǎn) 要聞 國(guó)內(nèi) 產(chǎn)業(yè) 財(cái)經(jīng) 滾動(dòng) 理財(cái) 股票

環(huán)球消息!泛型的作用和使用 泛型的作用

2023-06-21 23:34:15 來源 : 城市網(wǎng)

1、它有什么優(yōu)勢(shì)?它對(duì)性能有影響嗎?它在執(zhí)行時(shí)的行為是什么?.NET BCL中有哪些泛型類型?舉例說明平時(shí)編程中您定義的泛型類型。

2、 泛型的作用在于“算法的重用”。

3、(這點(diǎn)其實(shí)很好理解,原來的ArrayList只能接受Object,現(xiàn)在通過List可以接受任何類型,也就是說ArrayList的方法都被各個(gè)類型重用了。


(相關(guān)資料圖)

4、但是Dot Net的泛型有個(gè)比較制肘地方,就是你很難對(duì)數(shù)值類型(值類型)進(jìn)行算法抽象,因?yàn)檫@牽涉到運(yùn)算符重載的問題,同時(shí)Dot Net的泛型的類型參數(shù)也不能約束成一個(gè)基元值類型(如int、double、float) 。

5、) 它有什么優(yōu)勢(shì)? 第一:源代碼保護(hù)。

6、(如果你知道C++模板對(duì)泛型的實(shí)現(xiàn)機(jī)制,就會(huì)知道C++在編譯的時(shí)候根據(jù)對(duì)泛型的調(diào)用,自動(dòng)“內(nèi)聯(lián)”了一個(gè)實(shí)現(xiàn),這樣泛型的內(nèi)容就暴露了,爾DotNet的實(shí)現(xiàn)方式就不同了,泛型類和方法會(huì)被編譯成IL,在執(zhí)行的時(shí)候由JIT負(fù)責(zé)將IL變化為指定類型參數(shù)的本地代碼,從而保護(hù)了源代碼) 第二:類型安全。

7、(這點(diǎn)是最顯而易見的,拋棄了使用ArrayList時(shí)各種丑陋的強(qiáng)制類型轉(zhuǎn)換) 第三:更清晰地代碼。

8、因?yàn)闆]有了強(qiáng)制類型轉(zhuǎn)換,所以代碼自然顯得更清晰,但是使用泛型時(shí)候帶來的<>有時(shí)候確實(shí)也會(huì)讓人搞糊涂,幸好泛型方法可以用類型推斷或者using語(yǔ)句來進(jìn)一步簡(jiǎn)化寫法。

9、 第四:更好的性能,因?yàn)橹殿愋涂梢员苊庋b箱和拆箱所帶來的損耗(垃圾回收的次數(shù)也會(huì)減少)。

10、(這點(diǎn)正是泛型神奇的地方,開發(fā)歷史上抽象能力的上升往往意味著性能的下降,但是泛型卻不是!泛型抽象了算法,但是C++和DotNet對(duì)泛型的實(shí)現(xiàn)能夠讓性能無損,并且更快。

11、Java的擦除法泛型就沒有這種性能上的好處。

12、) 它對(duì)性能有影響嗎? 對(duì)性能有積極的影響,因?yàn)橹殿愋涂梢员苊庋b箱和拆箱所帶來的負(fù)面影響,避免了垃圾回收,使得性能顯著提高。

13、但是對(duì)引用類型這種影響就不明顯了。

14、但是需要注意的是首次為一個(gè)特定數(shù)據(jù)類型調(diào)用方法時(shí),CLR都會(huì)為這個(gè)方法生成本地代碼。

15、這會(huì)增大應(yīng)用程序的工作集大小,從而影響性能。

16、 它在執(zhí)行時(shí)的行為是什么? 使用泛型類型參數(shù)的一個(gè)方法在進(jìn)行JIT編譯時(shí),CLR獲取IL,用指定的類型實(shí)參進(jìn)行替換,然后創(chuàng)建本地代碼。

17、需要特別注意的是引用類型是共享代碼的,而對(duì)值類型就會(huì)為每一種生成獨(dú)立的一份類型代碼。

18、但是需要指出的是引用類型的這種代碼共享并不會(huì)造成封閉類型只執(zhí)行一次構(gòu)造函數(shù)(就算是靜態(tài)構(gòu)造函數(shù)也是這樣的)。

19、 .NET BCL中有哪些泛型類型? List、Dictionary、Queue、Stack、SortedList和SortedDictionary、LinkedList等等。

20、 舉例說明平時(shí)編程中您定義的泛型類型。

21、泛型的出現(xiàn)會(huì)替換原來一部分使用多態(tài)的地方從而提高性能和帶來更好的編譯時(shí)檢查,這樣就不需要在子類和超類(接口)間頻繁轉(zhuǎn)換了。

相信通過泛型的作用這篇文章能幫到你,在和好朋友分享的時(shí)候,也歡迎感興趣小伙伴們一起來探討。

本文由用戶上傳,如有侵權(quán)請(qǐng)聯(lián)系刪除!
關(guān)鍵詞:
相關(guān)文章

最近更新
精彩推送
世界最資訊丨宋子賢 2023-06-21 23:54:42
孫燕姿td_孫燕姿吧 2023-06-21 23:48:45
宋媛媛 2023-06-21 23:41:16