C#默认运算符

示例

值类型(其中T:结构)

内置的基本数据类型,如char,int,和float,以及用户定义的类型声明的struct,或enum。它们的默认值为:new T()

default(int)            // 0
default(DateTime)       // 0001-01-01 12:00:00 AM
default(char)           // '\0' This is the "null character", not a zero or a line break.
default(Guid)           // 00000000-0000-0000-0000-000000000000
default(MyStruct)       // 新的MyStruct()

// 注意:枚举的默认值为0,而不是该枚举中的第一个* key *
// 因此它可能会失败Enum.IsDefinedtest
default(MyEnum)         // (我的枚举)0

引用类型(其中T:class)

任何class,interface数组或委托类型。它们的默认值为null:

default(object)         // 空值
default(string)         // 空值
default(MyClass)        // 空值
default(IDisposable)    // 空值
default(dynamic)        // 空值