文字列または整数で列挙値を取得する方法 質問する

文字列または整数で列挙値を取得する方法 質問する

列挙文字列または列挙 int 値がある場合、列挙値を取得するにはどうすればよいですか。例: 次のような列挙がある場合:

public enum TestEnum
{
    Value1 = 1,
    Value2 = 2,
    Value3 = 3
}

そして、ある文字列変数には、次のように値「value1」があります。

string str = "Value1" 

または、int変数に値2が入っています。

int a = 2;

enum のインスタンスを取得するにはどうすればいいですか? enum と入力文字列または int 値を指定して enum インスタンスを取得できる汎用メソッドが必要です。

ベストアンサー1

いいえ、ジェネリックメソッドは必要ありません。これははるかに簡単です:

MyEnum myEnum = (MyEnum)myInt;

MyEnum myEnum = (MyEnum)Enum.Parse(typeof(MyEnum), myString);

速くなるとも思います。

おすすめ記事