整理自慕課西安交通大學的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 是一種語言機制,通過它可以實現乙個標準的容器庫。像類一樣,泛型也是一種抽象資料型別,但是泛型不屬於物件導向,它是物件導向的補充和發展。在物件導向程式設計中,當演算法與資料型別有關時,物件導向在對演算法的抽象描述方面存在一些缺陷。比...