12

在 C# 中,我们可以通过静态类型转换将 an转换为enuman int,如下所示:

int res = (int)myEnum;

还有其他方法可以进行这种转换吗?

4

4 回答 4

16

还有很多其他方法(包括Convert.ToInt32acrilige 提到的),但静态转换可能是最好的选择(就可读性和性能而言)

于 2013-02-11T06:24:21.397 回答
8

最好是:

int res = Convert.ToInt32(myEnum);

或静态演员表

int res = (int)myEnum;
于 2013-02-11T06:26:09.273 回答
3

这是一个示例枚举:

public enum Books
{
    cSharp = 4,
    vb = 6,
    java = 9
}

那么要使用的代码片段将是:

Books name = Books.cSharp;
int bookcount = Convert.ToInt32(name);
于 2013-02-11T06:38:16.793 回答
0

你可以做

int enumInt = Convert.ToInt32(yourEnum);

于 2013-02-11T08:26:47.460 回答