(複数形)というクラスがあります。このクラスには、次のような (単数形)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)
ベストアンサー1
enumをキャストするだけです。例:
int something = (int) Question.Role;
列挙型のデフォルトの基になる型は であるため、上記は、実際に目にするほとんどの列挙型で機能しますint
。
しかし、セシルフィリップが指摘しているように、列挙型は異なる基底型を持つことができます。列挙型がuint
、long
、または として宣言されている場合ulong
、列挙型の型にキャストする必要があります。たとえば、
enum StarsInMilkyWay:long {Sun = 1, V645Centauri = 2 .. Wolf424B = 2147483649};
使用すべき
long something = (long)StarsInMilkyWay.Wolf424B;