C# 泛型

时间:2023-12-09 19:03:19

C# 泛型

1.定义泛型类

在类定义中包含尖括号语法,即可创建泛型类:

 class MyGenericClass<T>
{
//Add code
}

其中T可以遵循C#命名规则的任意字符。T可以看作是成员变量的类型、属性或者方法的返回类型以及方法的参数类型等。例如:

 class MyGenericClass<T>
{
private T obj;
public MyGenericClass(T item)
{
obj=item;
}
public T Obj
{
get{ return obj; } }
}

注意事项:1) 不能假定为类提供什么类型;

2) 比较泛型类型提供的类型值和null时,只能使用==和!=。

2. default关键字

 public MyGenericClass()
{
obj=default(T);
}

其结果是,若obj是引用类型,则给它赋值null,如果是值类型,则赋予默认值。