c 泛型學習(一)

2022-03-26 05:27:31 字數 872 閱讀 2767

.net 從2.0開始支援泛型。泛型可以幫助我們建立獨立於被包含型別的類和方法。

不必再為不同型別編寫功能相同的方法或類了,只要建立乙個泛型類或者方法就可以實現對多種資料型別的操作。

object型別雖然也能讓你實現這樣的功能,但它不是型別安全的。

泛型不僅是c#語言的一種結構,而且是clr定義的。所以,在c#中定義的泛型類,也可以在vb中用乙個特定的型別例項化該泛型。

object實現與泛型實現

static

void main(string

args)

命名空間下面的list,是乙個泛型類。

//型別定義為int,所以int型別在jit編譯器動態生成的類中使用,編譯之後生成新的型別。這個型別就是接受int引數的乙個型別

//不再進行拆箱和裝箱。

如果加入如下兩行**:

list.add("hello");

ilist.add("hello");

使用泛型時,編譯不能通過;

而使用object時,編譯可以通過,不過在訪問資料時,裝箱拆箱會報異常。

所以泛型相對於object,是型別安全的,效能也更優。

C 泛型學習總結(一)

arraylist arrlist new arraylist arrlist.add test arrlist.add 1 檢視arralylist的add方法,public virtual int add object value 不能發現在add時候arraylist的引數型別是object,...

C 泛型學習

注意push 方法 1.public class stack public void push t item public stack int i stackss new stack 100 ss.push ds 第一種,ss.push ds 編譯通不過,因為 引數t 的型別 必須與 類例項化時定義...

c 2 0泛型學習 一

1using system 23public class stack 410 public stack int size 11 15 public void push object item 16 23 public object pop 24 30 else 31 35 36 37 2.使用泛型的...