「C#」Enum.ToObjectで数値をenum値に変換する
書式
Enum名 res = (Enum名)Enum.ToObject(typeof(Enum名), 値);
Enum名 res = (Enum名)Enum.ToObject(typeof(Enum名), 値);
Enum名 res = (Enum名)Enum.ToObject(typeof(Enum名), 値);
数値をenum値に変換するには Enum.ToObject()の引数に typeof(<enum名>)と数値を指定します。
enum値に存在しない数値を指定しても例外は発生しません。
Enum.ToObject()を使用して、数値をenum値に変換します。
使用例
using System;
namespace EnumDemo
{
class Program
{
static void Main(string[] args)
{
int val = 9;
// 数値をenum値に変換
AuthEnum res = (AuthEnum)Enum.ToObject(typeof(AuthEnum), val);
Console.WriteLine(res);
}
// enum型の定義
public enum AuthEnum :int
{
SUCCESS = 10,
WARN = 20,
FAILURE = 9
}
}
}
using System;
namespace EnumDemo
{
class Program
{
static void Main(string[] args)
{
int val = 9;
// 数値をenum値に変換
AuthEnum res = (AuthEnum)Enum.ToObject(typeof(AuthEnum), val);
Console.WriteLine(res);
}
// enum型の定義
public enum AuthEnum :int
{
SUCCESS = 10,
WARN = 20,
FAILURE = 9
}
}
}
using System; namespace EnumDemo { class Program { static void Main(string[] args) { int val = 9; // 数値をenum値に変換 AuthEnum res = (AuthEnum)Enum.ToObject(typeof(AuthEnum), val); Console.WriteLine(res); } // enum型の定義 public enum AuthEnum :int { SUCCESS = 10, WARN = 20, FAILURE = 9 } } }
実行結果
FAILURE