发布日期:2018-03-26
从枚举获取int值+ 查看更多
从枚举获取int值
+ 查看更多
发布日期:2018-02-26 17:30
分类:C#
浏览次数:480
我有一个类叫Questions(复数)。在这个类中有一个名为Question(单数)的枚举,看起来像这样。
public enum Question { Role = 2, ProjectFunding = 3, TotalEmployee = 4, NumberOfServers = 5, TopBusinessConcern = 6 }
在Questions类中,我有一个get(int foo)函数返回该foo的一个Questions对象。有没有一个简单的方法来获取枚举的整数值,然后我可以做这样的事情Questions.Get(Question.Role)?
回答
只要把这个枚举这样,例如:int something = (int)Question.Role;以上内容将适用于您看到的绝大多数枚举,因为枚举的默认底层类型为int。
但是,cecilphillip指出,枚举可以有不同的底层类型。如果一个枚举被声明为一个uint,long或ulong,那么它应该被转换为枚举的类型。
例如,对于:
enum StarsInMilkyWay:long {Sun = 1, V645Centauri = 2 .. Wolf424B = 2147483649};你应该使用:
long something = (long)StarsInMilkyWay.Wolf424B;