1.先定义一个枚举
public enum EnumAll{[Description("我是第一个")]One = 1,[DisplayName("我是第二个")]Two = 2,[DisplayName("我是第三个")]Three = 3}
2.
EnumAll e = EnumAll.Three; //枚举String estring = "Three"; //枚举的名称int evalue = 3; //枚举的值//得到枚举的 名称(不是值) 两种方法String enumName_one = e.ToString();String enumName_two = Enum.GetName(typeof(EnumAll), e);String s1 = $@"得到枚举的名称:第一种:{enumName_one}第二种:{enumName_two}";//得到枚举的 值 (不是名称) int enumValue_one = (int)e;int enumValue_two = e.GetHashCode();int enumValue_three = Convert.ToInt32(e);String s2 = $@"得到枚举的值:第一种:{enumValue_one}第二种:{enumValue_two}第三种:{enumValue_three}";//通过反射得到枚举的描述 DisCribtion 只举一个例子String d = "";string value = e.ToString();MemberInfo[] field = e.GetType().GetMember(value);if (field != null && field.Length > 0){object[] attrs = field[0].GetCustomAttributes(typeof(DescriptionAttribute), true);if (attrs != null && attrs.Length > 0){d = ((DescriptionAttribute)attrs[0]).Description;}}String s3 = $@"该枚举的描述是:{d}";//由 名称(不是值) 转为 枚举EnumAll e_Name = (EnumAll)Enum.Parse(typeof(EnumAll), estring);//由 值 转为 枚举 两种方法EnumAll e_Value_one = (EnumAll)evalue;EnumAll e_Value = (EnumAll)Enum.ToObject(typeof(EnumAll), evalue);