C# 列挙型トラバーサルメソッドの詳細な説明
C# 列挙型は、固定の値セットを表す構造化された方法を提供します。ただし、場合によっては、列挙内の値を効率的に反復処理する必要があります。
C# は、この目的のために Enum.GetValues
メソッドを提供します。このメソッドは引数として列挙型を受け取り、基礎となる値を含む配列を返します。この配列を対応する列挙型に変換すると、foreach
ループを使用して列挙値を簡単に反復できます。
たとえば、次の列挙について考えてみましょう:
<code class="language-csharp">public enum Foos { A, B, C }</code>
この列挙の値を反復処理するには、次のように Enum.GetValues
メソッドを使用できます。
<code class="language-csharp">var values = Enum.GetValues(typeof(Foos)); foreach (var value in values) { Console.WriteLine(value); }</code>このコードは、値「A」、「B」、「C」をコンソールに出力します。
さらに、C# は、型の安全性を確保しながら列挙値を反復する便利な方法を提供します。次のコード スニペットは、
メソッドの型付きバージョンを使用してこれを実現する方法を示しています。
Enum.GetValues
<code class="language-csharp">var values = Enum.GetValues(typeof(Foos)).Cast<Foos>(); foreach (var value in values) { // 现在你拥有一个 Foos 类型的强类型值 }</code>
このヘルパー関数を使用して、次のように列挙値を反復処理できます。
<code class="language-csharp">public static class EnumUtil { public static IEnumerable<T> GetValues<T>() { return Enum.GetValues(typeof(T)).Cast<T>(); } }</code>
以上がC# 列挙型を効率的に反復するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。