将枚举转换为列表

假设我有以下枚举值

enum Language { CSharp= 0, Java = 1, VB = 2 } 

我想将它们转换为值列表(即) { CSharp,Java,VB}.

如何将它们转换为值列表?

 Language[] result = (Language[])Enum.GetValues(typeof(Language)) 

如果你想要一个枚举列表,它会告诉你你的价值观。

如果需要名称列表,请使用:

 string[] names = Enum.GetNames(typeof(Languages)); 

如果我理解你的要求,你正在寻找这样的东西

 var enumList = Enum.GetValues(typeof(Language)).OfType().ToList(); 

如果要将列表中的枚举元素存储为语言类型:

 Enum.GetValues(typeof(Language)).Cast().ToList(); 

如果您想将它们存储为字符串:

 Enum.GetValues(typeof(Language)).Cast().Select(x => x.ToString()).ToList(); 

您可以使用此代码

  static void Main(string[] args) { enum Days { Sat, Sun, Mon, Tue, Wed, Thu, Fri }; Array arr = Enum.GetValues(typeof(Days)); List lstDays = new List(arr.Length); for (int i = 0; i < arr.Length; i++) { lstDays.Add(arr.GetValue(i).ToString()); } }