ホームページ >バックエンド開発 >C#.Net チュートリアル >C# の列挙型
Enum は C# の予約キーワードであり、列挙を表します。列挙型は、一連の名前付き定数を保持する C# のユーザー定義型です。セット内の各定数には値 (デフォルトでは整数) があります。定数には、名前と値の両方を通じてアクセスできます。したがって、列挙型内で名前を重複させることはできません。 enum の構文は単純です。これはキーワード enum で始まり、変数名と中括弧で囲まれた一連の名前付き定数が続きます。もちろんセミコロンで終わります。
構文:
enum <enum_name> {<set_of_named_constants>};
例:
コード:
enum Day { Sun, Mon, Tue, Wed, Thu, Fri, Sat }; enum Month { Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec };
列挙型には C# の基礎となる型があります。これは、列挙型内のすべての定数に、基になる型の値が割り当てられることを意味します。 C# の列挙型のデフォルトの基礎となる型は整数です。
上記の enum Day では、7 つの定数が宣言されています。デフォルトの基礎となる型は整数です。したがって、すべての定数には整数値が割り当てられます。デフォルトでは、値は 0 から始まります。したがって、Sun には 0 が割り当てられます。月には 1 が割り当てられ、火には 2 が割り当てられます。
別の例を見てみましょう。 Sun に値 1 を割り当てます。これにより、コンパイラは割り当てを 0 ではなく 1 から開始するように強制されます。その後、値 8 を Thu に割り当てます。その後、コンパイラは 8 以降の割り当てを続行します。
コード:
using System; public class Program { enum Day { Sun = 1, Mon, Tue, Wed, Thu = 8, Fri, Sat }; public static void Main() { for (int i = 0; i < 10; i++) { Console.WriteLine((Day)i); } } }
出力:
現実世界の例としては、クライアントのジャーニーにおけるさまざまな段階が考えられます。もちろん、すべての定数を個別に宣言して、対応する整数値を割り当てることもできますが、列挙型を使用すると、各段階で整数値を覚える手間が省かれ、コードがはるかに理解しやすくなります。
コード:
using System; public class Program { enum ClientJourney { Introduced = 1, UnderReview = 2, Reviewed = 3, Documentation = 4, Onboarded = 5, Declined = 6, Deboarded = 7 }; public static void Main() { Console.WriteLine("The various stages in the journey of a client are:\n"); foreach (string str in Enum.GetNames(typeof(ClientJourney))) { Console.WriteLine(str); } } }
出力:
C# の enum メソッドを以下に示します。
GetName メソッドは、列挙型の指定された値にマップされた名前付き定数を返します。その値に名前付き定数がない場合は、空の文字列を返します。
このメソッドは 2 つのパラメータを必要とします。1 つは型、つまり列挙型そのもので、もう 1 つは指定された値です。
上記の Days の同じ例では、GetName メソッドを通じて名前付き定数を出力します。
コード:
using System; public class Program { enum Day { Sun = 1, Mon, Tue, Wed, Thu = 8, Fri, Sat } ; public static void Main() { for (int i = 0; i < 10; i++) { Console.WriteLine(Enum.GetName(typeof(Day), i)); } } }
出力:
上記の例では、列挙型の名前付き定数をすべて取得するために for ループを使用する必要がありました。 GetName メソッドは、単一または限られた数の名前付き定数が必要な場合に便利です。
すべての名前付き定数を取得する別のメソッド GetNames() があります。入力パラメータとして列挙型を受け取ります。
上記の Days の同じ例では、GetNames メソッドを通じて名前付き定数を出力します。
コード:
using System; public class Program { enum Day { Sun = 1, Mon, Tue, Wed, Thu = 8, Fri, Sat } ; public static void Main() { foreach(string namedConstant in Enum.GetNames(typeof(Day))){ Console.WriteLine(namedConstant); } } }
出力:
GetValues() メソッドは、列挙型の名前付き定数のそれぞれにマッピングされた基になる値を取得するために使用されます。
上記の Days の同じ例では、GetNames メソッドを通じて名前付き定数を出力します。
コード:
using System; public class Program { enum Day { Sun = 1, Mon, Tue, Wed, Thu = 8, Fri, Sat } ; public static void Main() { foreach (int i in Enum.GetValues(typeof(Day))) { Console.WriteLine(i); } } }
出力:
C# の列挙型のルールを以下に示します。
以下に挙げる利点を示します:
このように、C# での enum の使用を見てきました。これがどのように機能し、実際にどのように使用できるのかを見てきました。 enum を使用するときに従うべきルールを理解しました。いくつかのメソッドは、列挙型へのアクセスとフォーマットに役立ちます。コード内ではできるだけ列挙型を使用することをお勧めします。これは、コーディングの優れた実践方法を観察し、列挙型についても学ぶのに役立ちます。
以上がC# の列挙型の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。