C# Enum转集合

一、定义枚举

public enum OrderStatus
    {
        已下单 = 1,
        已发货 = 2,
        已签收 = 3
    }

二、将枚举转为集合

        public void EnumToList()
        {

            //主要使用:Enum.GetValues(typeof(UnitNature)) 方法
            //第一种写法
            var list = new List<object>();
            foreach (var x in Enum.GetValues(typeof(OrderStatus)))
            {
                list.Add(new
                {
                    value = Convert.ToInt32(x),
                    name = x.ToString()
                });
            }

            //第二种写法
            var list2 = Enum.GetValues(typeof(OrderStatus)).OfType<object>().Select(x => new
            {
                value = Convert.ToInt32(x),
                name = x.ToString()
            }).ToList();

            //第三种写法
            var list3 = Enum.GetValues(typeof(OrderStatus)).Cast<object>().Select(x => new
            {
                value = Convert.ToInt32(x),
                name = x.ToString()
            }).ToList();
        }
原文地址:https://www.cnblogs.com/liuzheng0612/p/15649820.html