C# Enum 类型遍历

void Main()
{
        new EnumForeach().Foreach();
}

public class EnumForeach
{
        public void Foreach()
        {
                foreach (Status item in Enum.GetValues(typeof(Status)))
                {
                        item.ToString().Dump();
                        ((int)item).Dump();
                }       
        }
}

public enum Status
{
        AA = 1,
        BB = 2,
        CC = 3
}

 开发中有时会需要遍历枚举类型,例如,我在处理一个问题时,需要将整型转换成对应的枚举类型。思路有好多,在这里说讨论几种情况的:

  1、用Switch 语句 逐个比较枚举中的类型是否和该整型相等,返回相等时的枚举类型。

  2、如上,通过遍历枚举类型,这样代码明显少了很多,优雅了不少,并且,在枚举添加值时,不需要修改这段代码。(GET)

  3、通过字典实现,也是比较麻烦,并且枚举添加值时,也要修改相应的字典内容。