如何遍历C#中的所有枚举值?

迪温奇

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

public enum Foos
{
    A,
    B,
    C
}

有没有办法遍历可能的值Foos

基本上?

foreach(Foo in Foos)
Jaredpar

是的,你可以使用的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>();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章