如何枚举枚举中的所有内容?

时间:2012-07-21 09:18:01

标签: c# enums

  

可能重复:
  How do I enumerate an enum?

假设有一个枚举

public enum Numbers {one, two, three };

为了获得输出“一”,“两个”,“三个”,我需要写下以下代码中的三个点来代替:

foreach (Numbers n in ...) {
   Console.WriteLine (n.ToString ());
}

当然,我想这样做是为了修改枚举定义不需要修改foreach()中的代码。

4 个答案:

答案 0 :(得分:5)

您可以使用:

foreach (Numbers n in Enum.GetValues(typeof(Numbers))) 
{
    Console.WriteLine(n.ToString());
}

答案 1 :(得分:3)

如果你只需要获取名字就可以使用:

foreach (string name in Enum.GetNames(typeof(Numbers)))
{
    Console.WriteLine(name);
}

当然,如果你想真正使用Enum值,其他人已经指出了。

答案 2 :(得分:0)

使用此:Enum.GetValues(type)

答案 3 :(得分:0)

请考虑以下事项:

        foreach (var n in Enum.GetValues(typeof(Numbers)))
        {
            Console.WriteLine(n.ToString());
        }