1. ホーム
  2. c#

[解決済み] C#でenumからint値を取得する

2022-03-14 07:29:02

質問

というクラスがあります。 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) ?

解決方法は?

enumをキャストするだけです、例えば。

int something = (int) Question.Role;

enum のデフォルトの基礎となる型は次のとおりです。 int .

しかし セシルフィリップ が指摘するように、列挙型は異なる基本型を持つことができます。 もし、ある列挙型が uint , long または ulong の場合,列挙型の型にキャストする必要があります。

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

を使用する必要があります。

long something = (long)StarsInMilkyWay.Wolf424B;