C#列挙型
C#列挙型
enum
は、定数(変更不可/読み取り専用変数) のグループを表す特別な「クラス」です。
enum
を作成するには、(クラスまたはインターフェイスの代わりに)enum
キーワードを使用し、enum
項目をカンマで区切ります。
例
{.language-csharp .techis-white}
enum Level
{
Low,
Medium,
High
}
ドット構文を使用してenum
にアクセスできます。
{.language-csharp .techis-white}
Level myVar = Level.Medium;
Console.WriteLine(myVar);
Enumは「enumerations」の略で、「具体的に列挙された」という意味です。
クラス内の列挙型
また、クラス内にenum
を含めることも出来ます。
例
{.language-java .techis-white}
class Program
{
enum Level
{
Low,
Medium,
High
}
static void Main(string[] args)
{
Level myVar = Level.Medium;
Console.WriteLine(myVar);
}
}
出力は次のようになります。
Medium
列挙値
デフォルトでは、列挙型の最初の項目の値は0です。2番目の項目の値は1などです。
アイテムから整数値を取得するには、アイテムをint
へ明示的に変換します。
例
{.language-java .techis-white}
enum Months
{
January, // 0
February, // 1
March, // 2
April, // 3
May, // 4
June, // 5
July // 6
}
static void Main(string[] args)
{
int myNum = (int) Months.April;
Console.WriteLine(myNum);
}
出力は次のようになります。
3
独自の列挙値を割り当てることもでき、次の項目はそれに応じて番号を更新します。
例
{.language-java .techis-white}
enum Months
{
January, // 0
February, // 1
March=6, // 6
April, // 7
May, // 8
June, // 9
July // 10
}
static void Main(string[] args)
{
int myNum = (int) Months.April;
Console.WriteLine(myNum);
}
出力は次のようになります。
7
Switchステートメントの列挙型
列挙型は対応する値をチェックする為に、switch
文でよく使用されます。
例
{.language-java .techis-white}
enum Level
{
Low,
Medium,
High
}
static void Main(string[] args)
{
Level myVar = Level.Medium;
switch(myVar)
{
case Level.Low:
Console.WriteLine("Low level");
break;
case Level.Medium:
Console.WriteLine("Medium level");
break;
case Level.High:
Console.WriteLine("High level");
break;
}
}
出力は次のようになります。
Medium level
列挙型を使用する理由とタイミング
月日、日、色、カードのデッキなど、変更されないことがわかっている値がある場合は、列挙型を使用します。
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。