「C#」Enum.ToObjectで数値を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
     }
  }
}

実行結果
FAILURE

C#

Posted by arkgame