「列挙 文字列」の変換
using System; namespace Test { enum Color { NoColor, Red, Green, Blue } public class Foo { public static void Main() { // 列挙 => 文字列 Color c = Color.Red; Console.WriteLine(c.ToString()); // 名前の文字列に変換 Console.WriteLine(c.ToString("D")); // 数値の文字列に変換 Console.WriteLine(); // 文字列 => 列挙 Color c2 = (Color)Enum.Parse(typeof(Color), "Red"); // 文字列から列挙に変換 Color c3 = (Color)Enum.Parse(typeof(Color), "2"); // 数値の文字列から列挙に変換 Console.WriteLine(c2); Console.WriteLine(c3); Console.WriteLine(); // 列挙の名前のリストを取得 string[] names = Enum.GetNames(typeof(Color)); // 名前の配列を取得 Array values = Enum.GetValues(typeof(Color)); // 値の配列を取得 foreach (Color col in Enum.GetValues(typeof(Color))) { Console.WriteLine("{0}: {1}", col, (int)col); } // [実行結果] // Red // 1 // // Red // Green // // NoColor: 0 // Red: 1 // Green: 2 // Blue: 3 } } }
但し、文字列から列挙に大量に変換する場合は、Dictionary