枚举的价值

sl3*_*dg3 4 c#

我有点困惑:这真的是从Enum-Code读取值的唯一方法吗?

(int)Enum.Parse(typeof(MyEnum), MyEnumCode.ToString())
Run Code Online (Sandbox Code Playgroud)

有什么必要的,没有更好的方法来获得价值?

Dan*_*rth 15

我不知道,你的意思是"Enum-Code",但为什么不把它转换为int呢?

int value = (int)MyEnum.MyEnumCode;
Run Code Online (Sandbox Code Playgroud)


Cin*_*ine 7

不,你可以直接转换为int:

(int)MyEnum.MyEnumCode
Run Code Online (Sandbox Code Playgroud)

详细说明一下.在内部,枚举实际上是一个int.因此,演员阵容是免费的.但这也意味着您可以轻松地在枚举中存在不存在的值.例如

MyEnum val = (MyEnum)-123544;
Run Code Online (Sandbox Code Playgroud)

是完全有效的代码.