2011-03-23 128 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 

局部變量不會被自動初始化 - 他們必須在他們可以讀第一點之前明確賦值,就像任何其他變量。

你不是很清楚你想達到什麼 - 如果你可以提供更多關於背景的細節,那將會有很大的幫助。例如,使用可爲空的值類型可能是,或者您可能只是想在構造函數中強制初始化。