C# 数値を列挙型に変換する

  • 作成日 2022.11.01
  • C#
C# 数値を列挙型に変換する

C#で、数値を列挙型に変換するサンプルコードを記述してます。「キャスト」を行うことで変換することができます。

環境

  • OS windows11 pro 64bit
  • Microsoft Visual Studio Community 2022 Version 17.2.6

列挙型に変換

列挙型に変換するには、「キャスト」を使用します。変換方法は、以下のコードとなります。

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        public enum NumEnum
        {
            aaa = 10,
            bbb = 20
        }

        static void Main(string[] args)
        {
            int num = 10;
            NumEnum result = (NumEnum)num; // NumEnumにキャスト

            Console.WriteLine(result); // aaa

            num = 20;
            result = (NumEnum)num; // NumEnumにキャスト

            Console.WriteLine(result); // bbb

        }
            
    }
}

実行結果

存在しない値を指定すると、値がそのまま返ります。

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        public enum NumEnum
        {
            aaa = 10,
            bbb = 20
        }

        static void Main(string[] args)
        {
            int num = 30;
            NumEnum result = (NumEnum)num;

            Console.WriteLine(result); // 30

            num = 40;
            result = (NumEnum)num;

            Console.WriteLine(result); // 40

        }
            
    }
}

実行結果