たとえば、数字の1にone、2にtwo、などと名前をつけることができます。
列挙体は、次のように定義します。
enum 名前{識別子1, 識別子2,...};識別子1から順に0, 1, 2,...が割り当てられます。また、途中から割り当てを変更する場合は、
enum enum-name{a, b, c=0, d, e};のように書きます。これで、aは0、bは1, cは0, dは1, eは2が割り当てられます。
呼び出すときは
列挙体の名前.識別子で行います。enum型をint型等の整数型に変換するときは型キャストを行う必要があります。
// enum01.cs using System; class enum01 { public enum mymonth {Jan = 1, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec}; public static void Main() { Console.WriteLine("Jan = {0}月", (int)mymonth.Jan); Console.WriteLine("Feb = {0}月", (int)mymonth.Feb); Console.WriteLine("Mar = {0}月", (int)mymonth.Mar); Console.WriteLine("Apr = {0}月", (int)mymonth.Apr); Console.WriteLine("May = {0}月", (int)mymonth.May); Console.WriteLine("Jun = {0}月", (int)mymonth.Jun); Console.WriteLine("Jul = {0}月", (int)mymonth.Jul); Console.WriteLine("Aug = {0}月", (int)mymonth.Aug); Console.WriteLine("Sep = {0}月", (int)mymonth.Sep); Console.WriteLine("Oct = {0}月", (int)mymonth.Oct); Console.WriteLine("Nov = {0}月", (int)mymonth.Nov); Console.WriteLine("Dec = {0}月", (int)mymonth.Dec); } }実行結果は次のようになります。
通常はint型ですが、他の整数型を割り当てることもできます。この場合
enum 名前:整数型 {識別子,...};のように書きます。
// enum02.cs using System; class enum02 { enum myenum : sbyte {a = -20, b, c = -10, d, e = 20}; public static void Main() { Console.WriteLine((sbyte)myenum.a); Console.WriteLine((sbyte)myenum.b); Console.WriteLine((sbyte)myenum.c); Console.WriteLine((sbyte)myenum.d); Console.WriteLine((sbyte)myenum.e); } }実行結果は次のようになります。
Update 25/Aug/2006 By Y.Kumei