在泛型类和泛型方法中,在预先未知以下情况时,如何将默认值分配给参数化类型 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就可以返回一个默认值了,因为都是系统为我们做这些,呵呵,今天才了解的,惭愧啊
本文介绍在C#中如何为泛型方法和类的参数化类型T分配默认值。当T的具体类型未知时,通过使用default关键字可以为T提供一个默认值,无论T是引用类型、值类型还是结构体。
1万+

被折叠的 条评论
为什么被折叠?



