C# 获取Enum 描述和值集合

        //获取枚举的值
public static IEnumerable<T> GetEnumValues<T>() where T : struct { T[] values = (T[])Enum.GetValues(typeof(T)); foreach (var itemValue in values) { if (Convert.ToInt32(itemValue) != 0) { yield return itemValue; } } }
                Dictionary<int, string> dicRet = new Dictionary<int, string>();
                //获取Enums的值
                var resonlist = EnumsHelper.GetEnumValues<MakeSureComplaintReson>();

                foreach (var item in resonlist)
                {
                    dicRet.Add((int)item, item.GetDescription());
                }
                return dicRet;
   
    public enum MakeSureComplaintReson
    {
        [Description("a")]
        reson1 = 1,
        [Description("b")]
        reson2 = 2,
        [Description("c")]
        reson3 = 3,
        [Description("其它")]
        reson9 = 9
    }

最终得到的结果:

[{1,'a'},{2,'b'},{3,'c'},{9,'其它'}]

原文地址:https://www.cnblogs.com/DONET-LC/p/7476974.html