它是表示值0
的任何枚举成员.具体地说,从documentation:
An
enum E
的默认值是由表达式(E)0
产生的值.
以下面的枚举为例:
enum E
{
Foo, Bar, Baz, Quux
}
在不覆盖默认值的情况下,printing default(E)
返回Foo
,因为它是第一个出现的元素.
然而,枚举的0
由第一个成员表示的情况是not always.例如,如果您这样做:
enum F
{
// Give each element a custom value
Foo = 1, Bar = 2, Baz = 3, Quux = 0
}
打印default(F)
会得到Quux
,而不是Foo
.
如果枚举G
中的任何元素都不对应于0
:
enum G
{
Foo = 1, Bar = 2, Baz = 3, Quux = 4
}
default(G)
从字面上返回0
,尽管它的类型仍然是G
(正如上面的文档所引用的,是对给定枚举类型的强制转换).