## 列挙型とは
列挙型とは、値に分かりやすい名前をつけて管理するものです。
列挙型には先頭から順番に0、1、2…と値が割り振られます。
この値には好きな名前をつけることができます。
例えば、0は銅メダル、1は銀メダル、2は金メダルのように名前をつけることで、銅メダルを呼び出すと、0を呼び出すことができます。
## 列挙型の使い方や書き方
enum 列挙型名 { 識別子1, 識別子2, …};
enumキーワードのあとに書いた名前が列挙型名になります。
識別子2,
識別子とは、値につける名前です。
識別子には先頭から順番に「 0 」から連番が割り振られます。
「 識別子1, 」の値は「 0 」「 識別子2, 」の値は「 1 」のように割り振られます。
つまり、この割り振られた値につける名前が識別子になります。
識別子に割り振られる値は整数値です。
using static System.Console;
class TestClass
{
enum Kago { イチゴ, ミカン, モモ };
}
enumキーワードのあとにKagoと書きます。
これにより、列挙型Kagoの宣言ができました。
ブロック内にイチゴ, ミカン, モモと書きます。
これにより、Kago型(列挙型)の
– 識別子1にイチゴ
– 識別子2にミカン
– 識別子3にモモ
が指定できました。
## 列挙型の識別子を取得する
列挙型の識別子を取得するには、列挙型名のあとに「.」(ドット演算子)を書き、そのあとに呼び出したい識別子を書きます。
列挙型名.識別子
呼び出したい識別子の列挙型名を書きます。
列挙型名のあとに、「 . 」(ドット演算子)を書きます。
「 . 」(ドット演算子)のあとに呼び出したい識別子を書きます。
これにより、指定した列挙型の識別子を呼び出せます。
using static System.Console;
class TestClass
{
enum Kago { イチゴ, ミカン, モモ };
static void Main()
{
WriteLine(Kago.イチゴ);
WriteLine(Kago.ミカン);
WriteLine(Kago.モモ);
}
}
イチゴ
ミカン
モモ
列挙体Kagoを宣言し、識別子「 イチゴ、ミカン、モモ 」を指定します。
Kago.ミカン
Kago.モモ
列挙型Kagoのあとに「 . 」(ドット演算子)を書き、そのあとにそれぞれ「 イチゴ、ミカン、モモ 」と書きます。
これにより、「 enum Kago { イチゴ, ミカン, モモ }; 」で列挙型Kagoに指定した、識別子「 イチゴ、ミカン、モモ 」が取得できます。
## 列挙型の値(数値)を取得する
列挙型の値を取得するには型を整数型(char型以外)に変換してから取得します。
(整数型)列挙型名.識別子
列挙型名の前に(整数型)(char型以外)を書きます。
列挙型名を書き、そのあとに「 . 」(ドット演算子)を書き、そのあとに値を取得したい識別子を書きます。
これにより、列挙型が指定した整数型に変換され、識別子に割り振られている値(数値)が取得できます。
using static System.Console;
class TestClass
{
enum Kago { イチゴ, ミカン, モモ };
static void Main()
{
WriteLine((int)Kago.イチゴ);
WriteLine((int)Kago.ミカン);
WriteLine((int)Kago.モモ);
}
}
0
1
2
列挙体Kagoを宣言し、識別子「 イチゴ、ミカン、モモ 」を指定します。
(int)Kago.ミカン
(int)Kago.モモ
(int)と書き、そのあとにKagoと書きます。
これにより、列挙型Kagoはint型に変換されました。
Kagoのあとに「 . 」(ドット演算子)を書き、そのあとにそれぞれ「 イチゴ、ミカン、モモ 」と書きます。
これにより、enum Kago { イチゴ, ミカン, モモ };で列挙型Kagoに指定した、識別子「 イチゴ、ミカン、モモ 」に割り振られている値の「 0、1、2 」が取得できます。
## 列挙型の識別子に値を指定する
列挙型の識別子に好きなの値(整数値)を指定することができます。
enum 列挙型名 { 識別子1, 識別子2 = 値, 識別子3, …};
識別子2のあとに「 = 」を書き、そのあとに好きな値(整数値)を書きます。
これにより、識別子2に値が指定されます。
識別子2に指定した値の次の値(整数値)が割り振られます。
using static System.Console;
class TestClass
{
enum Kago { イチゴ, ミカン = 10, モモ };
static void Main()
{
WriteLine((int)Kago.イチゴ);
WriteLine((int)Kago.ミカン);
WriteLine((int)Kago.モモ);
}
}
0
10
11
ミカンのあとに「 = 」を書き、そのあとに「 10 」と書きます。
これにより、識別子ミカンの値に「 10 」が指定できました。
(int)Kago.ミカン
(int)Kago.モモ
列挙型Kagoの識別子「 イチゴ、ミカン、モモ 」の値を取得します。
識別子イチゴは「 0 」
識別子ミカンは、指定した値の「 10 」
識別子モモは、ミカンの値の次の値の「 11 」
がそれぞれ取得できます。