基礎 C 泛型

2021-06-16 05:11:36 字數 1046 閱讀 6256

msdn 章節內容

ms-help:

泛型是 2.0 版 c# 語言和公共語言執行庫 (clr) 中的乙個新功能。泛型將型別引數的概念引入 .net framework,型別引數使得設計如下類和方法成為可能:這些類和方法將乙個或多個型別的指定推遲到客戶端**宣告並例項化該類或方法的時候。例如,通過使用泛型型別引數 t,您可以編寫其他客戶端**能夠使用的單個類,而不致引入執行時強制轉換或裝箱操作的成本或風險,如下所示:

// declare the generic class

public

class genericlist

}class testgenericlist

static

void main()

}

若要使用genericlist,客戶端**必須通過指定尖括號中的型別引數來宣告和例項化構造型別。此特定類的型別引數可以是編譯器識別的任何型別。可以建立任意數目的構造型別例項,每個例項使用不同的型別引數,如上所示:

// the .net framework 2.0 way to create a list

list list1 = new list();

// no boxing, no casting:

list1.add(3);

// compile-time error:

// list1.add("it is raining in redmond.");

對於以上**,與 arraylist 相比,使用list時新增的唯一語法是宣告和例項化中的型別引數。雖然這稍微增加了些編碼的複雜性,但好處是您可以建立乙個比 arraylist 更安全並且速度更快的列表,特別適用於列表項是值型別的情況。

泛型類

泛型類封裝不是特定於具體資料型別的操作。泛型類最常用於集合,如鏈結列表、雜湊表、堆疊、佇列、樹等,其中,像從集合中新增和移除項這樣的操作都以大體上相同的方式執行,與所儲存資料的型別無關。

C 泛型基礎

泛型的基本思想 泛型程式設計 generic programming 是一種語言機制,通過它可以實現乙個標準的容器庫。像類一樣,泛型也是一種抽象資料型別,但是泛型不屬於物件導向,它是物件導向的補充和發展。在物件導向程式設計中,當演算法與資料型別有關時,物件導向在對演算法的抽象描述方面存在一些缺陷。比...

C 泛型基礎

泛型的基本思想 泛型程式設計 generic programming 是一種語言機制,通過它可以實現乙個標準的容器庫。像類一樣,泛型也是一種抽象資料型別,但是泛型不屬於物件導向,它是物件導向的補充和發展。在物件導向程式設計中,當演算法與資料型別有關時,物件導向在對演算法的抽象描述方面存在一些缺陷。比...

C 泛型基礎

標籤 c 演算法iterator 資料結構 algorithm class 2011 08 10 16 52 21162人閱讀收藏 舉報 c c 17 泛型的基本思想 泛型程式設計 generic programming 是一種語言機制,通過它可以實現乙個標準的容器庫。像類一樣,泛型也是一種抽象資料...