C 泛型用法說明

2021-08-25 02:04:11 字數 2364 閱讀 3111

泛型是c#2.0

語言和公共語言執行庫

(clr)

中的乙個新功能。泛型將型別引數的概念引入

.net framework

,型別引數使得設計如下類和方法成為可能:這些類和方法將乙個或多個型別的指定推遲到客戶端**宣告並例項化該類或方法的時候。例如,通過使用泛型型別引數

t,可以編寫其他客戶端**能夠使用的單個類,而不致引入執行時強制轉換或裝箱操作

.使用泛型型別可以最大限度地重用**、保護型別的安全以及提高效能。

泛型最常見的用途是建立集合類。

.net framework

類庫在system.collections.generic

命名空間中包含幾個新的泛型集合類。應盡可能地使用這些類來代替普通的類,如

system.collections

命名空間中的

arraylist

,hashtable

等。下面我們就來說下,幾個泛型集合類的用法:

.dictionary

和hashtable

類似

此類在.net framework 2.0

版中是新增的。表示鍵和值的集合。命名空間

:system.collections.generic

,程式集

:mscorlib

(在mscorlib.dll

中)class testgenericlist

catch (argumentexception) //

因為引入了泛型,所以鍵取出後不需要進行

object

到int

的轉換,值的集合也一樣

foreach (int i in fruit.keys)

值是:",i,fruit);}

按鍵值對遍歷

: foreach(keyvaluepair keyvalue in

fruit)

值是:", keyvalue.key, keyvalue.value);

} //

刪除指定鍵,值

fruit.remove(1);

//判斷是否包含指定鍵

if (fruit.containskey(1))

//清除集合中所有物件

fruit.clear();}}

dictionary

遍歷輸出的順序,就是加入的順序,這點與

hashtable

不同,其它方法如:

containskey

,containsvalue

,remove

等,使用方法基本一致。

二、

list

注意:此類在

.net framework 2.0

版中是新增的。表示可通過索引訪問的物件的強型別列表。提供用於對列表進行搜尋、排序和操作的方法。命名空間

:system.collections.generic

,程式集

:mscorlib

(在mscorlib.dll

中),list

類是arraylist

類的泛型等效類。 //

宣告乙個泛型類

class testgenericlist//向

list

中插入元素

names.insert(2, "

張三峰");

//移除指定元素

names.remove("

馬蜂"); }}

在決定使用

list

還是使用

arraylist

類(兩者具有類似的功能)時,記住

list

類在大多數情況下執行得更好並且是型別安全的。

如果對list

類的型別

t 使用引用型別,則兩個類的行為是完全相同的。但是,如果對型別

t 使用值型別,則需要考慮實現和裝箱問題。

如果對型別

t 使用值型別,則編譯器將特別針對該值型別生成

list

類的實現。這意味著不必對

list

物件的列表元素進行裝箱就可以使用該元素,並且在建立大約

500

個列表元素之後,不對列表元素裝箱所節省的記憶體將大於生成該類實現所使用的記憶體。

其實我們也可以自己定義乙個泛型類,如下所示:

//宣告乙個泛型類

public class itemlist

}class testgenericlist

static void main()}

泛型的用法還有很多種,如汎型方法,泛型委託,泛型介面等。

C 泛型用法說明

泛型是c 2.0 語言和公共語言執行庫 clr 中的乙個新功能。泛型將型別引數的概念引入 net framework 型別引數使得設計如下類和方法成為可能 這些類和方法將乙個或多個型別的指定推遲到客戶端 宣告並例項化該類或方法的時候。例如,通過使用泛型型別引數 t,可以編寫其他客戶端 能夠使用的單個...

C 泛型說明

泛型 即通過引數化型別來實現在同乙份 上操作多種資料型別。泛型程式設計是一種程式設計正規化,它利用 引數化型別 將型別抽象化,從而實現更為靈活的復用。c 泛型的作用概述 c 泛型賦予了 更強的型別安全,更好的復用,更高的效率,更清晰的約束。在乙個方法中,乙個變數的值是可以作為引數,但其實這個變數的型...

C 中typedef用法說明

typedef宣告提供了一種將識別符號宣告為型別別名的方法,用於替換複雜的型別名。解釋 在宣告中使用typedef說明符時,會指定這個宣告是typedef宣告,而不是變數或函式宣告。通常,typedef說明符出現在宣告的開頭,但允許它出現在型別說明符之後,或者出現在兩個型別說明符之間。typedef...