枚举变量总是被初始化?

Moc*_*cco 2 c# variables enums

我需要一个枚举类型变量,它不会自动初始化为第一个元素的值.有什么方法可以做到吗?

Jon*_*eet 6

枚举变量并不总是初始化为枚举的第一个值.

例如/ static变量,它们被初始化为枚举的"0"值 - 可能不是命名值,例如

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

Color c; // This will be 0
Run Code Online (Sandbox Code Playgroud)

局部变量不会自动初始化 - 它们必须在可以读取它们的第一个点之前明确分配,就像任何其他变量一样.

目前还不是很清楚你想要实现的目标 - 如果你能提供更多关于背景的细节,那将会有很大帮助.使用可空值类型可能是您想要的,或者您可能只想在构造函数中强制进行初始化,例如.