列挙型 (Visual C# Express)
更新 : 2007 年 11 月
C# では、enum キーワードを使用して、複数の独自の名前付き定数を作成できます。これらのデータ型を使用して、変数への割り当てが可能なすべての値を定義する名前、またはその他のリテラル値のセットを宣言できます。
たとえば、プログラムで曜日を処理する場合、DayOfWeek という新しい型を作成できます。次に、DayOfWeek 型の新しい変数を宣言し、この変数に値を割り当てます。このデータ型を使用すると、コードが読みやすくなり、無効な値や予期しない値が変数に割り当てられる可能性が低くなります。
public enum DayOfWeek
{
Sunday = 0,
Monday = 1,
Tuesday = 2,
Wednesday = 3,
Thursday = 4,
Friday = 5,
Saturday = 6
}
class Program
{
static void Main()
{
DayOfWeek day = DayOfWeek.Monday;
int i = (int) DayOfWeek.Monday;
System.Console.WriteLine(day); // displays Monday
System.Console.WriteLine(i); // displays 1
}
}
列挙型を使用する高度なテクニック
ここでは、enum データ型の便利な機能を紹介します。
列挙型のリテラル値の表示
enum データ型で使用する名前や単語にアクセスするには、ToString() メソッドを次のように使用します。
DayOfWeek day = DayOfWeek.Wednesday;
System.Console.WriteLine(day.ToString()); // displays Wednesday
既定値の設定
既定では、列挙型の 1 番目の値はゼロです。次のように、異なる初期値を指定できます。
enum Color { Red = 1, Yellow = 2, Blue = 3 };
実際に、すべての値に一意の整数値を定義できます。
enum Medal { Gold = 30, Silver = 20, Bronze = 10 };