上回说了泛型函数的定义及使用方法,这回说说泛型类,所谓泛型类就是把类带有泛型参数
class A<T>{
}
泛型类中的T多用于定义类中的属性或函数的返回值
如
一个类可以存2个值。我只要这么写:
class A<T>{ public T First{get;set;} public T Second{get;set;} }用的时候,下面两个都是合法的。
A<string> a=new A<string>(); a.First="11111asdasddfs"; a.Second="vvvvv"; A<int> a=new A<int>(); a.First=110; a.Second=119;
系统泛型
系统的泛型类都是存在于System.Collections.Generic命名空间中,所以使用前要前using它(一般系统都默认using了)。
列表类
List<int>:特点可以用Add将新元素加入,其实可以看做是个数组。
List<int> l=new List<int>(); l.Add(1); l.Add(2); WL(l[0]);//输出1 WL(l[1]);//转出2
字典
Dictionary<T1,T2>:有值有键,按值取键
Dictionary<string,int> d=new Dictionary<string,int>(); d.Add("yang",5411); d.Add("guo",111); WL(d["yang"]);//5411 WL(d["guo"]);//111
这里出现了两个泛型定义,其实这样写是可以的,比如我们写个函数定义,返回他们的字符串相连后的字符串。
string c<T1,T2>(T1 x,T2 y){ return x.ToString()+x.ToString(); }
虽然有些免强,但我想大家已经明白其意图了。