1.定义枚举类型
public enum Test { 男 = 0, 女 = 1 }
2.获取枚举值
public void EnumsAction() { var s = Test.男;//男 var s2 = (int)Test.男;//0 var a = Test.男.ToString();//"男" var r = (Test)1;//女 var x = (Test)Enum.Parse(typeof(Test), "男");//男 var x2 = Enum.Parse(typeof(Test), "男");//男 var x3 = Enum.GetName(typeof(Test),0);//"男" foreach (var item in Enum.GetValues(typeof(Test))) { var v = item;//男[女] var v2 = (int)item;//0[1] var t = item.GetType();//{Name = "Test" FullName = "BaseControl.Enum.Test"} var g = item.ToString();//"男"["女"] } }
3.EnumHelper
public static class EnumHelper { /// <summary> /// 根据枚举的值获取枚举名称 /// </summary> /// <typeparam name="T">枚举类型</typeparam> /// <param name="status">枚举的值</param> /// <returns></returns> public static string GetEnumName<T>(this int status) { return Enum.GetName(typeof(T), status); } /// <summary> /// 获取枚举名称集合 /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns> public static string[] GetNamesArr<T>() { return Enum.GetNames(typeof(T)); } /// <summary> /// 将枚举转换成字典集合 /// </summary> /// <typeparam name="T">枚举类型</typeparam> /// <returns></returns> public static Dictionary<string, int> getEnumDic<T>() { Dictionary<string, int> resultList = new Dictionary<string, int>(); Type type = typeof(T); var strList = GetNamesArr<T>().ToList(); foreach (string key in strList) { string val = Enum.Format(type, Enum.Parse(type, key), "d"); resultList.Add(key, int.Parse(val)); } return resultList; } /// <summary> /// 将枚举转换成字典 /// </summary> /// <typeparam name="TEnum"></typeparam> /// <returns></returns> public static Dictionary<string, int> GetDic<TEnum>() { Dictionary<string, int> dic = new Dictionary<string, int>(); Type t = typeof(TEnum); var arr = Enum.GetValues(t); foreach (var item in arr) { dic.Add(item.ToString(), (int)item); } return dic; } }
4.使用
public enum Sex { man, woman } public enum Color { red, blue } static void Main(string[] args) { var name = EnumHelper.GetEnumName<Sex>(1); Console.WriteLine("数字转字符串:"+name); var dic1 = EnumHelper.getEnumDic<Sex>(); Console.WriteLine("枚举转字典集合方法1:"); foreach (var item in dic1) { Console.WriteLine(item.Key + "==" + item.Value); } Console.WriteLine("枚举转字典集合方法2:"); var dic= EnumHelper.GetDic<Color>(); foreach (var item in dic) { Console.WriteLine(item.Key+"=="+item.Value); } Console.ReadLine(); }