C# 列挙値のトラバース
C# では、列挙は固定の値セットを表す便利な方法です。列挙型を操作する場合、多くの場合、その可能な値を反復処理する必要があります。これは、Enum
クラスによって提供される GetValues
メソッドを使用して実現できます。
次の列挙について考えてみましょう:
<code class="language-csharp">public enum Foos { A, B, C }</code>
この列挙の値を反復するには、次のコードを使用できます:
<code class="language-csharp">var values = Enum.GetValues(typeof(Foos)); foreach (var foo in values) { // 对当前值执行操作 }</code>
または、GetValues
の型付きバージョンを使用して、値を列挙型として直接取得することもできます。
<code class="language-csharp">var values = Enum.GetValues(typeof(Foos)).Cast<Foos>(); foreach (var foo in values) { // 对当前值执行操作 }</code>
便宜上、このプロセスを簡素化するヘルパー関数を作成することもできます。
<code class="language-csharp">public static class EnumUtil { public static IEnumerable<T> GetValues<T>() { return Enum.GetValues(typeof(T)).Cast<T>(); } }</code>
このヘルパー関数を使用するには、次のように呼び出すだけです:
<code class="language-csharp">var values = EnumUtil.GetValues<Foos>(); foreach (var foo in values) { // 对当前值执行操作 }</code>
以上がC# で列挙値を反復処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。