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.使用泛型的類
1using system;
23public class stack
412 public stack(int size)
13
17 public void push(t item)
18
25 public t pop()
26
32 else
33
38 }
39}40
41public class stack1: stack
4245
下為pdf文件,我感覺挺好的,很簡單,我聽的懂就是好的
/clingingboy/one.pdf
多個泛型
1class node
212 public node(k key, t item, nodenextnode)
13
18}泛型別名
1using list = linkedlist;
泛型約束
1public class linkedlistwhere k : icomparable
28 public void addhead(k key, t item)
9
1314 t find(k key)
15
24 return current.item;
25 }
2627}
281using system;
2using system.collections.generic;
3using system.text;
45namespace vs2005demo1610
11 inte***ce imybaseinte***ce
12
1516 internal class genericclasswhere t : mybaseclassgeneric,imybaseinte***ce
17
2021 class gclasswhere k : mybaseclassgeneric,imybaseinte***ce,new() where t : k
22
2526 class guclasswhere t : k where k : mybaseclassgeneric,imybaseinte***ce, new()
27
3031
32 不能將引用/值型別約束與基類約束一起使用,因為基類約束涉及到類#region 不能將引用/值型別約束與基類約束一起使用,因為基類約束涉及到類
33
34 //class awhere t : struct,class
35 //{}
36
37 #endregion
3839 不能使用結構和預設建構函式約束,因為預設建構函式約束也涉及到類#region 不能使用結構和預設建構函式約束,因為預設建構函式約束也涉及到類
4041 //class awhere t : struct,new()
42 //{}
4344 #endregion
4546 雖然您可以使用類和預設建構函式約束,但這樣做沒有任何價值#region 雖然您可以使用類和預設建構函式約束,但這樣做沒有任何價值
4748 class awhere t : new()
49
5253 class typea
54
56 }
5758 class testa
59
6263 #endregion
6465 可以將引用/值型別約束與介面約束組合起來,前提是引用/值型別約束出現在約束列表的開頭#region 可以將引用/值型別約束與介面約束組合起來,前提是引用/值型別約束出現在約束列表的開頭
66
67 class sclasswhere k : struct, imybaseinte***ce
68
6970 class cclasswhere k : class, imybaseinte***ce
71
72
73 #endregion
74}75
c 2 0泛型學習 一 C 教程
1.未使用泛型的stack類 1using system 2 ublic class stack 410 public stack int size 11 15 public void push object item 16 23 public object pop 24 30 else 31 35...
C 2 0泛型程式設計基礎
最顯著的一點就是它引數化了型別,把型別作為引數抽象出來,從而使我們在實際的運用當中能夠更好的實現 的重複利用,同時它提供了更強的型別安全,更高的效率,不過在約束方面,它只支援顯示的約束,這樣在靈活性方面就顯得不是那麼好了。我覺得它之所以能夠提供更高的效率是因為泛型在例項化的時候採用了 on dema...
C 2 0之細說泛型
在c 1中,arraylist總是會給人帶來困擾,因為它的引數型別是object,這就讓開發者無法把握集合中都有哪些型別的資料。如果對string型別的資料進行算術操作那自然會報錯,但是遺憾的是在編譯期不會給你任何的提示 c 2中引入的泛型極其耀眼,甚至有些人會因為泛型而忽略c 2中其它新加入的特性...