【C#】文字列をEnumの値に変換する

C#

設定ファイル等から読み込んだ文字列をプログラム内で列挙型の値として扱う方法を紹介します。

サンプルコード

以下のサンプルでは、列挙型DayOfWeekを定義し、Enum.Parseメソッドを使用して文字列からこの列挙型の値に変換する方法です。

using System;

namespace EnumParseExample
{
    class Program
    {
        // 列挙型DayOfWeekの定義
        enum DayOfWeek
        {
            Sunday,    // 0
            Monday,    // 1   
            Tuesday,   // 2
            Wednesday, // 3 
            Thursday,  // 4
            Friday,    // 5
            Saturday   // 6 
        }

        static void Main(string[] args)
        {
            // 文字列から列挙型への変換を試みる文字列
            string input = "Friday";

            try
            {
                // Enum.Parseメソッドを使用して文字列をDayOfWeek列挙型に変換
                DayOfWeek day = (DayOfWeek)Enum.Parse(typeof(DayOfWeek), input);

                // 変換されたenumの名前と値を表示
                Console.WriteLine($"Parsed day: {day} = {(int)day}");
            }
            catch (ArgumentException)
            {
                // 変換に失敗した場合のエラー処理
                Console.WriteLine("Invalid input for day of week.");
            }
        }
    }
}

実行結果

Parsed day: Friday = 5
続行するには何かキーを押してください . . .
タイトルとURLをコピーしました