1. ホーム
  2. c#

[解決済み] C#ですべてのenum値をループする方法は?[重複している]をクリックします。

2022-03-16 17:39:51

質問

<ブロッククオート

この質問はすでにここに回答があります。
C#でenumを列挙するにはどうしたらいいですか? 26の回答

public enum Foos
{
    A,
    B,
    C
}

の取り得る値をループする方法はありますか? Foos ?

基本的には?

foreach(Foo in Foos)

解決方法は?

はい、あなたは GetValue‍‍‍s メソッドを使用します。

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

または、タイプされたバージョン。

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>();