如何循环使用C#中的所有枚举值?[副本]

这个问题在这里已经有答案了

9年前关闭的

这个问题在这里已经有了答案:
如何在C#中枚举枚举26个答案

公共枚举Foos
{
A.
B
C
}

是否有方法循环查看Foos的可能值

基本上

foreach(Foos中的Foo)

是的,你可以使用‍获取值‍‍‍s方法:

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

或键入的版本:

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

很久以前,我在我的私有库中添加了一个助手函数,用于这样的场合:

公共静态类EnumUtil{
公共静态IEnumerable<T>GetValues<T>(){
返回Enum.GetValues(typeof(T)).Cast<T>();
}
}

用法:

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

发表评论