2011-03-23 89 views

回答

3

没办法,除非你用Nullable<SomeEnum>

2

你可以考虑将它可为空

2

枚举为int(默认)的基本数据类型,就像一个int无线总是被初始化,所以将枚举。

最好的办法是将未初始化的值作为enum中的第一个条目添加。

因此,例如

public enum MyEnum{ Uninitialized, EnumValue1, EnumValue2, ... }; 

然后创建它的

MyEnum enumInstance; 

现在,它仍然会被初始化为在枚举的第一个元素一个实例,但你也知道,它意味着你有尚未初始化它。

0

enum关键字用于声明一个枚举类型,这是一个由称为枚举数列表的一组命名常量组成的独特类型。

如果你想在枚举表示未知值,你可以通过添加元素与未知值0
你可以声明栏为Nullable<MyNullableEnum>

一个有用的链接做到这一点:

6

枚举变量总是被初始化为头伏枚举的线索。对于实例/静态变量,它们被初始化为枚举的“0”值 - 它可能不是一个命名值,例如,

enum Color 
{ 
    Red = 1, 
    Blue = 2, 
    Green = 3 
} 

Color c; // This will be 0 

局部变量不会被自动初始化 - 他们必须在他们可以读第一点之前明确赋值,就像任何其他变量。

你不是很清楚你想达到什么 - 如果你可以提供更多关于背景的细节,那将会有很大的帮助。例如,使用可为空的值类型可能是,或者您可能只是想在构造函数中强制初始化。