在泛型中使用default,取决于泛型类型是引用类型还是值类型,引用类型的default将泛型类型初始化null,值类型的default将泛型类型初始化为0。在类型应用中可以通过default获得缺省值,如default(int)。
在泛型类型中,由于泛型类型即可以是引用类型也可以是值类型,所以不能用null来表示默认值。这里通过default来进行。引用类型的default将泛型类型初始化null,值类型的default将泛型类型初始化为0。
class DocClass<T>
{
public T Swap(T ob)
{
T temp = default(T);
if (ob != null) temp = ob;
return temp;
}
}
default获得类型缺省值:
Console.WriteLine(default(int));//0
Console.WriteLine(default(string));//