我有一堂课叫做Questions(复数)。在此类中,有一个名为Question(单数)的枚举,它看起来像这样。
Questions
Question
public enum Question { Role = 2, ProjectFunding = 3, TotalEmployee = 4, NumberOfServers = 5, TopBusinessConcern = 6 }
在Questions该类中,我有一个get(int foo)函数为此返回一个Questions对象foo。有没有一种简单的方法可以从枚举中获取整数值,所以我可以做这样的事情Questions.Get(Question.Role)?
get(int foo)
foo
Questions.Get(Question.Role)
只是枚举枚举,例如
int something = (int) Question.Role;
上面的代码适用于您在野外看到的绝大多数枚举,因为枚举的默认基础类型是int。
int
但是,正如cecilphillip指出的那样,枚举可以具有不同的基础类型。如果枚举被声明为uint,long,或ulong,应当投射到枚举的类型; 例如
uint
long
ulong
enum StarsInMilkyWay:long {Sun = 1, V645Centauri = 2 .. Wolf424B = 2147483649};
你应该使用
long something = (long)StarsInMilkyWay.Wolf424B;