enum MyEnum { AA, BB, CC }
// 名稱
foreach (string s in Enum.GetNames(typeof(MyEnum)))
Console.WriteLine(s); // AA, BB, CC
// 值
foreach (int n in Enum.GetValues(typeof(MyEnum)))
Console.WriteLine(n); // 0, 1, 2
預設從 0 起始遞增,可手動指定:
enum MyEnum { AA = 2, BB, CC = 7, DD, EE }
// 值:2, 3, 7, 8, 9
foreach (int i in Enum.GetValues(typeof(MyEnum)))
Console.WriteLine(i); // 2, 3, 7, 8, 9
未指定者遞增 1,允許重複值 (不同名稱對應同一數值)。
enum MyEnum { AA, BB, CC }
// 數值 → 列舉
MyEnum e1 = (MyEnum)1; // BB
// 字串 → 列舉
MyEnum e2 = (MyEnum)Enum.Parse(typeof(MyEnum), "BB"); // BB
// 或
Enum.TryParse("BB", out MyEnum e3); // 建議用 TryParse
MyEnum e = MyEnum.CC;
Console.WriteLine(e); // "CC"
Console.WriteLine((int)e); // 2
Console.WriteLine(e.ToString()); // "CC"
Console.WriteLine(Convert.ToString(e)); // "CC"