TECH I.S.

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

列挙型を使用する理由とタイミング

月日、日、色、カードのデッキなど、変更されないことがわかっている値がある場合は、列挙型を使用します。


プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細