枚举的价值

时间:2011-03-01 09:45:55

标签: c#

我有点困惑:这真的是从枚举代码读取值的唯一方法吗?

(int)Enum.Parse(typeof(MyEnum), MyEnumCode.ToString())

某些必要的东西,没有更好的方法来获得价值?

5 个答案:

答案 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,因此您只需将其强制转换。