我有点困惑:这真的是从枚举代码读取值的唯一方法吗?
(int)Enum.Parse(typeof(MyEnum), MyEnumCode.ToString())
某些必要的东西,没有更好的方法来获得价值?
答案 0 :(得分:15)
我不知道,你的意思是“Enum-Code”,但为什么不把它转换为int?
int value = (int)MyEnum.MyEnumCode;
答案 1 :(得分:7)
不,你可以直接转换为int:
(int)MyEnum.MyEnumCode
详细说明。在内部,枚举实际上是一个int。因此,演员阵容是免费的。但这也意味着您可以轻松地在枚举中存在不存在的值。 E.g。
MyEnum val = (MyEnum)-123544;
完全有效的代码。
答案 2 :(得分:2)
你想要达到什么目标?你想要与枚举相关的整数值吗?您可以将枚举转换为int ...
(int)MyEnum.MyEnumCode;
答案 3 :(得分:1)
试试这个:
int x = MyEnumCode as int;
string y = MyEnumCode.ToString();
int z = (int)MyEnumCode;
答案 4 :(得分:1)
怎么样?
(int)MyEnumCode?
默认情况下,枚举的基础类型为int,因此您只需将其强制转换。