如何将枚举类型转换为整数

17
在C#中,我们可以通过静态类型转换将枚举转换为整数,如下所示:
int res = (int)myEnum;

有其他的方法可以完成这个转换吗?


https://dev59.com/PHVD5IYBdhLWcg3wR5ko - 4b0
1
@Shree - 那个问题是整数转枚举,而这个问题则是枚举转整数。 - Richard Szalay
4个回答

22

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


只需将链接添加到C# 6.0文档中即可。 - Pimenta

10

最好的方式是:

int res = Convert.ToInt32(myEnum);

或者一个静态转换

int res = (int)myEnum;

4

以下是一个枚举类型的示例:

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

那么使用的代码片段应该是:

然后使用的代码片段将是:

Books name = Books.cSharp;
int bookcount = Convert.ToInt32(name);

0
你可以这样做:

int enumInt = Convert.ToInt32(yourEnum);


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接