物理の駅 Physics station by 現役研究者

テクノロジーは共有されてこそ栄える

C#でenumを文字列からParseする

Enum.Parse を使うと良い。

using System;

namespace ConsoleApp3
{
    class Program
    {
        public enum Status
        {
            StatusA,
            StatusB,
            StatusC
        }

        static void Main(string[] args)
        {
            Console.WriteLine((Status)Enum.Parse(typeof(Status), "StatusA"));
            Console.WriteLine((Status)Enum.Parse(typeof(Status), "StatusB"));
            Console.WriteLine((Status)Enum.Parse(typeof(Status), "C"));
        }
    }
}

出力

StatusA
StatusB
Unhandled exception. System.ArgumentException: Requested value 'C' was not found.

対応してないと例外が出る。