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

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

目次

サンプル 列挙型(enum型)とは
  For文とenumのメソッド
  列挙型の定数に独自の値を設定する

列挙型(enum型)とは

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

列挙型のサンプルです。

using System;

enum Color
{
	RED,
	YELLOW,
	BLUE,
}
class Test1
{
	static void Main()
	{
		Class1 c1 = new Class1();
		c1.print1(Color.BLUE);
	}
}
class Class1
{
	public void print1(Color c1)
	{	
		if (c1 == Color.RED)
		{
			Console.WriteLine("赤");
		}
		else if (c1 == Color.YELLOW)
		{
			Console.WriteLine("黄");
		}
		else if (c1 == Color.BLUE)
		{
			Console.WriteLine("青"); //青が出力される
		}
	}
}

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

14行目は、メソッドの引数に列挙型の値を指定しています。
19行目は、列挙型の値を引数として受け取ります。
21行目以降は、if文で列挙型の定数の比較をしています。

For文とenumのメソッド

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

For文とenumのメソッドのサンプルです。

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メソッドは、定数の値を取得します。

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

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

using System;

enum Color
{
	RED = 10,
	YELLOW = 11,
	BLUE = 12,
}
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); // 10 11 12が出力される
		}
	}
}

5~7行目の10,11,12が独自の値です。
GetValuesメソッドで設定した値を取得します。

関連の記事

C# 構造体のサンプル

△上に戻る