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