C#の列挙型のサンプルです。
目次
サンプル | 列挙型(enum型)とは |
列挙型の定数に独自の値を設定する | |
for文のループで列挙型の名称と値を取得する |
列挙型(enum型)とは
enum 名前 { 定数1, 定数2, ・・・ End Enum |
- 複数の定数を持つことができます。enumというキーワードがあります。
- 名前.定数でアクセスします。
- 以下は、MicrosoftのC#の列挙型のリンクです。
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/builtin-types/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メソッドは、定数の値を取得します。
関連の記事