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、通过字典实现,也是比较麻烦,并且枚举添加值时,也要修改相应的字典内容。

posted @ 2014-01-15 18:49  Jerry_Wu  阅读(26530)  评论(3编辑  收藏  举报