C# で列挙型から int 値を取得する 質問する

C# で列挙型から int 値を取得する 質問する

(複数形)というクラスがあります。このクラスには、次のような (単数形)Questionsという列挙型があります。Question

public enum Question
{
    Role = 2,
    ProjectFunding = 3,
    TotalEmployee = 4,
    NumberOfServers = 5,
    TopBusinessConcern = 6
}

クラスには、そのためのオブジェクトを返す関数Questionsがあります。列挙型から整数値を取得して、次のような操作を実行する簡単な方法はありますか?get(int foo)QuestionsfooQuestions.Get(Question.Role)

ベストアンサー1

enumをキャストするだけです。例:

int something = (int) Question.Role;

列挙型のデフォルトの基になる型は であるため、上記は、実際に目にするほとんどの列挙型で機能しますint

しかし、セシルフィリップが指摘しているように、列挙型は異なる基底型を持つことができます。列挙型がuintlong、または として宣言されている場合ulong、列挙型の型にキャストする必要があります。たとえば、

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

使用すべき

long something = (long)StarsInMilkyWay.Wolf424B;

おすすめ記事