一尘不染

从C#中的枚举获取int值

c#

我有一堂课叫做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)


阅读 961

收藏
2020-05-19

共1个答案

一尘不染

只是枚举枚举,例如

int something = (int) Question.Role;

上面的代码适用于您在野外看到的绝大多数枚举,因为枚举的默认基础类型是int

但是,正如cecilphillip指出的那样,枚举可以具有不同的基础类型。如果枚举被声明为uintlong,或ulong,应当投射到枚举的类型;
例如

enum StarsInMilkyWay:long {Sun = 1, V645Centauri = 2 .. Wolf424B = 2147483649};

你应该使用

long something = (long)StarsInMilkyWay.Wolf424B;
2020-05-19