れっ!、れっ!!、列挙型って!?
列挙型とは名前の付いた定数の集まりです。
列挙型で定義される定数は列挙子リストと呼ばれます。
通常は列挙子に、0(ゼロ)から順に整数値が付けられます。
付けられる整数値の型は、byte、sbyte、short、ushort、int、uint、long、ulongに限られています。
勿論任意の値を使うこともできます。
戻り値で使ったり、エラー種別判定等簡単に使えて便利な型です。
列挙型の宣言
enum オブジェクト名 { 列挙子1, 列挙子2, ・・・ }
では実際にコードを書いてみます。
public enum MyWeek { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday } public enum MyReturn { OK, NG }
MyWeekとMyReturnを宣言しました。
列挙型は宣言したら直ぐにつかうことができます。
Console.WriteLine(MyWeek.Friday); Console.WriteLine(MyRetuen.OK);
Friday
OK
コンソールにこのように表示されます。
例としてswitchで列挙型を使ったコード
var SwitchCase = MyWeek.Monday; switch( SwitchCase ) { case MyWeek.Sunday: Console.WriteLine("日曜日"); break; case MyWeek.Monday: Console.WriteLine("月曜日"); break; case MyWeek.Tuesday: Console.WriteLine("火曜日"); break; case MyWeek.Wednesday: Console.WriteLine("水曜日"); break; case MyWeek.Thursday: Console.WriteLine("木曜日"); break; case MyWeek.Friday: Console.WriteLine("金曜日"); break; case MyWeek.Saturday: Console.WriteLine("土曜日"); break; default: Console.WriteLine("?"); break; }
実行すると「月曜日」と表示されます。
まとめ
列挙型の最もシンプルな使い方でしたが、更に複雑な使い方も可能です。
コーディングするとき、オブジェクト名と「.」を入力すればメンバー候補が表示されるので効率よくコーディングか可能になるので、積極的に列挙型を使うようにします。
定数の宣言やメソッドの呼び出しもとと戻り値を返すメソッドの双方で利用する等、有効に使えると思います。
コメント