新聞中心
C#語言有很多值得學(xué)習(xí)的地方,這里我們主要介紹C#泛型支持,包括介紹C#泛型通過算法和數(shù)據(jù)結(jié)構(gòu)支持獨立編碼等方面。

創(chuàng)新互聯(lián)公司是專業(yè)的唐山網(wǎng)站建設(shè)公司,唐山接單;提供網(wǎng)站建設(shè)、網(wǎng)站設(shè)計,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行唐山網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
"一次編碼,多次使用",這就是引入泛型的根源。在以前的C++中稱為模板,C#泛型通過算法和數(shù)據(jù)結(jié)構(gòu)支持獨立編碼。例如,泛型列表意味著,你不必再重寫一個強類型集合。在本文中,作者將向你展示定義和使用泛型是多么容易的事情-請注意,長期以來泛型一直被認為是***級和最困難的術(shù)語。
泛型現(xiàn)在在任何一種語言中都被認為是一個高級的強有力的術(shù)語。當我在C++中***次接觸模板時,我對之有些疑惑。之后,我讀了Bjarne Stroustrop的《The Design and Evolution of C++》,才發(fā)現(xiàn)模板的使用就象C中的宏和用之來取代的簡單串替換模板一樣容易。其實,模板和泛型是相同的東西-盡管它們的實現(xiàn)稍微不同。
C#泛型支持在使用點處才定義算法及其數(shù)據(jù)類型。在C#的一些早期版本中,我們可以證明沒有泛型也可以工作,因為每種類型都是派生于一個公共基類型-object。這意味著程序員可以基于object類型定義一個棧類并且把一切東西放到該棧上(因為一切都派生于object)。然而,一個object棧意味著,Customer對象,Integer對象以及假想的對象都能被放置到同一個棧的實例上。結(jié)果是,開發(fā)者要子類化數(shù)據(jù)類型來把數(shù)據(jù)類型綁定到他們要與之交互的東西上去。例如,在編寫定制的商業(yè)對象時,我們就建議定義派生于 System.Collections.CollectionBase的強類型集合。原因很簡單:基于object定義一切被認為是弱類型定義。
業(yè)界的高手們在數(shù)十年前就確信強類型優(yōu)于弱類型,所以.NET最終支持強類型,這看上去是很自然的事情。強類型算法當然建議類型化參數(shù)-這正是我們在泛型中所用的東西。
十幾年來,我們一直在使用字母T作為類型化參數(shù)的名字。這樣,在任何泛型類使用者所提供的數(shù)據(jù)類型的地方,你都能夠找到T。使用泛型的關(guān)鍵僅僅是提供這個T。定義泛型的關(guān)鍵在于實現(xiàn)一個方法或類,并且用特定數(shù)據(jù)類型來替換掉T。
C#泛型支持另外一些提煉。例如,一個方法或類可以有多個參數(shù)化的類型并且C#泛型支持WHERE約束-它用來具體要求類型化參數(shù)的類型。例如,如果一個泛型類型必須實現(xiàn)接口IDisposable,那么C#泛型支持實現(xiàn)這一限制的。
【編輯推薦】
- C# this關(guān)鍵字詳解
- C#調(diào)用析構(gòu)方法詳解
- C#釋放托管資源簡單描述
- C#單路代理簡單分析
- C#文法產(chǎn)生式概述
本文標題:C#泛型支持簡單描述
當前路徑:http://www.dlmjj.cn/article/dheegso.html


咨詢
建站咨詢
