Get int value from enum in C#
c#, casting, enums, int
Solution
Just cast the enum, e.g.
int something = (int) Question.Role;
The above will work for the vast majority of enums you see in the wild, as the default underlying type for an enum is `int`.
However, as cecilphillip points out, enums can have different underlying types. If an enum is declared as a `uint`, `long`, or `ulong`, it should be cast to the type of the enum; e.g. for
enum StarsInMilkyWay:long {Sun = 1, V645Centauri = 2 .. Wolf424B = 2147483649};
you should use
long something = (long)StarsInMilkyWay.Wolf424B;
Problem
I have a class called `Questions` (plural). In this class there is an enum called `Question` (singular) which looks like this. ``` public enum Question { Role = 2, ProjectFunding = 3, TotalEmployee = 4, NumberOfServers = 5, TopBusinessConcern = 6 } ``` In the `Questions` class I have a `get(int foo)` function that returns a `Questions` object for that `foo`. Is there an easy way to get the integer value off the enum so I can do something like this `Questions.Get(Question.Role)`?