この質問に対する回答は既にここにあります:
C# で列挙型を列挙するにはどうすればよいですか? 26件の回答
public enum Foos
{
A,
B,
C
}
の可能な値をループする方法はありますかFoos
?
基本的に?
foreach(Foo in Foos)
ベストアンサー1
はい、使えますよGetValues
方法:
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>();