Get int value from enum in C#

前端 未结 28 1926
臣服心动
臣服心动 2020-11-22 04:58

I have a class called Questions (plural). In this class there is an enum called Question (singular) which looks like this.

public e         


        
28条回答
  •  孤独总比滥情好
    2020-11-22 05:25

    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;
    

提交回复
热议问题