c 基礎學習1 泛型

2021-10-05 13:49:20 字數 1271 閱讀 4200

整理自慕課西安交通大學的c#程式設計

慕課西安交通大學——c#程式設計

1.1使用泛型的方法:

void

display

<

t>

(t input)

}

該函式在實際呼叫時,由編譯器自動匹配t的型別

1.2使用泛型的類:

class stack

//類的宣告

stack<

int> s =

newstack

<

int>()

;//類的例項化

注意:當該類被例項化成int型別時,堆疊裡面也只能存放int型別的例項,這也是相比較與用object型別的好處:只能存放一種型別,在當在使用時發生型別使用錯誤,編譯時就會報錯,而不是像使用object型別那樣在執行時才會報錯。

注意:

在c#中,使用object的stack類被放在

system.collections
使用泛型stack類放在:

system.collections.generic
where t:

struct

//t必須為數值型別

where t:

class

//t必須為引用型別

where t:ifoo //t必須實現ifoo介面

where t:foo //t必須為foo的派生類

where t:

new(

)//t必須具有預設建構函式

注意:若有多個約束,則用逗號分開

對於乙個具體的型別都有其預設值,例如int的預設值為0,引用型別預設值為null。

對於泛型:

t  t =

default

(t);

若t被引用型別取代,t的預設值為null;t被int型取代,預設值則為0。

C 泛型基礎

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

基礎 C 泛型

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

C 泛型基礎

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