在泛型类和泛型方法中,在预先未知以下情况时,如何将默认值分配给参数化类型 T:
-
T 是引用类型还是值类型。
-
如果 T 为值类型,则它是数值还是结构。
如T为引用类型,则t=null有效,若T为数值类型,则t=0才有效,若为结构,则要符合结构中的每个类型
所以我们在不确定的情况下,使用default关键字,系统会自动为它分配默认值
假设有一个泛型类
其中有一个泛型方法:
public T Delete(int i)
{
T tmp = default(T);
//一些操作
return tmp;
}
因为事先不知道T是何种类型,可能是int型可能是string类型,或者是结构
在这种情况下,要返回函数结果时,使用default就可以返回一个默认值了,因为都是系统为我们做这些,呵呵,今天才了解的,惭愧啊