C# 列挙型(enum型)のサンプル

C#の列挙型のサンプルです。

目次

サンプル 列挙型(enum型)とは
  列挙型の定数に独自の値を設定する
  for文のループで列挙型の名称と値を取得する

列挙型(enum型)とは

enum 名前 {
 定数1,
 定数2,
 ・・・
End Enum

列挙型のサンプルです。

using System;

enum Color
{
	RED,
	YELLOW,
	BLUE,
}
class Test1
{
	static void Main()
	{
		Console.WriteLine(Color.RED); //REDが出力される
		Console.WriteLine(Color.YELLOW); //YELLOWが出力される
		Console.WriteLine(Color.BLUE); //BLUEが出力される
		Console.WriteLine((int)Color.RED); //0が出力される
		Console.WriteLine((int)Color.YELLOW); //1が出力される
		Console.WriteLine((int)Color.BLUE); //2が出力される
	}
}

3行目にenumがあります。列挙型です。
5行目からの定数はカンマ区切りで記述します。
7行目のように定義の最後にカンマが付いていても問題ありません。
16行目は、intでキャストしています。0から始まります。

列挙型の定数に独自の値を設定する

列挙型の定数に独自の値を設定できます。

using System;

enum Color
{
	RED = 10,
	YELLOW = 11,
	BLUE = 12,
}
class Test1
{
	static void Main()
	{
		Console.WriteLine((int)Color.RED); //10が出力される
		Console.WriteLine((int)Color.YELLOW); //11が出力される
		Console.WriteLine((int)Color.BLUE); //12が出力される
	}
}

5~7行目の10,11,12が独自の値です。

for文のループで列挙型の名称と値を取得する

public static string[] GetNames (Type enumType);
public static Array GetValues (Type enumType);

for文のループで列挙型の名称と値を取得するサンプルです。

using System;

enum Color
{
	RED,
	YELLOW,
	BLUE,
}
class Test1
{
	static void Main()
	{
		foreach (string c1 in Enum.GetNames(typeof(Color)))
		{
			Console.WriteLine(c1); // RED YELLOW BLUEが出力される
		}
		foreach (int c1 in Enum.GetValues(typeof(Color)))
		{
			Console.WriteLine(c1); // 0 1 2が出力される
		}
	}
}

GetNamesメソッドは、定数の名前を取得します。
GetValuesメソッドは、定数の値を取得します。

関連の記事

C# 構造体のサンプル(struct)

△上に戻る