ホームページ >バックエンド開発 >C++ >C# ですべての列挙値を反復するにはどうすればよいですか?

C# ですべての列挙値を反復するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-17 09:47:11871ブラウズ

How Can I Iterate Through All Enum Values in C#?

C# での列挙型値の列挙

列挙型のすべての可能な値をループすることは、C# プログラミングの一般的な要件です。これを実現する方法は次のとおりです。

Enum.GetValues メソッドの使用

Enum.GetValues メソッドは、指定された列挙型のすべての値の配列を返します。この配列を使用すると、foreach ループを使用して値をループできます。例:

public enum Foos
{
    A,
    B,
    C
}

var values = Enum.GetValues(typeof(Foos));

foreach (var value in values)
{
    // Do something with the value
}

型付き Enum.GetValues メソッドの使用

Enum.GetValues メソッドには、指定された列挙型の配列を返す型付きバージョンもあります。 。このバージョンは、コンパイル時に enum 型がわかっている場合に使用すると便利です。次に例を示します。

var values = Enum.GetValues(typeof(Foos)).Cast<Foos>();

ヘルパー クラスの使用

列挙値を取得するプロセスを簡略化するために、取得するための汎用メソッドを提供するヘルパー クラスを作成できます。値:

public static class EnumUtil
{
    public static IEnumerable<T> GetValues<T>()
    {
        return Enum.GetValues(typeof(T)).Cast<T>();
    }
}

使用法:

var values = EnumUtil.GetValues<Foos>();

以上がC# ですべての列挙値を反復するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。