C# 泛型
C# 泛型
1.定义泛型类
在类定义中包含尖括号语法,即可创建泛型类:
1 class MyGenericClass<T> 2 { 3 //Add code 4 }
其中T可以遵循C#命名规则的任意字符。T可以看作是成员变量的类型、属性或者方法的返回类型以及方法的参数类型等。例如:
1 class MyGenericClass<T> 2 { 3 private T obj; 4 public MyGenericClass(T item) 5 { 6 obj=item; 7 } 8 public T Obj 9 { 10 get{ return obj; } 11 12 } 13 }
注意事项:1) 不能假定为类提供什么类型;
2) 比较泛型类型提供的类型值和null时,只能使用==和!=。
2. default关键字
1 public MyGenericClass() 2 { 3 obj=default(T); 4 }
其结果是,若obj是引用类型,则给它赋值null,如果是值类型,则赋予默认值。