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(); }