Преобразовать перечисление в список Скажем, у меня есть следующие значения Enum enum Language { CSharp= 0, Java = 1, VB = 2 } Я хотел бы преобразовать их в список значений (i.e) { CSharp,Java,VB}. Как преобразовать их в список значений? Ответ 1 Language[] result = (Language[])Enum.GetValues(typeof(Language)) вы получите ваши значения, если вы хотите список перечислений. Если вам нужен список имен, используйте это: string[] names = Enum.GetNames(typeof(Languages)); Ответ 2 Если я правильно понимаю ваше требование, вы ищете что-то вроде этого var enumList = Enum.GetValues(typeof(Language)).OfType<Language>().ToList(); Ответ 3 Если вы хотите сохранить элементы перечисления в списке как тип языка: Enum.GetValues(typeof(Language)).Cast<Language>().ToList(); Если вы хотите сохранить их как строку: Enum.GetValues(typeof(Language)).Cast<Language>().Select(x => x.ToString()).ToList(); Ответ 4 Вы можете использовать этот код static void Main(string[] args) { enum Days { Sat, Sun, Mon, Tue, Wed, Thu, Fri }; Array arr = Enum.GetValues(typeof(Days)); List<string> lstDays = new List<string>(arr.Length); for (int i = 0; i < arr.Length; i++) { lstDays.Add(arr.GetValue(i).ToString()); } }
Ответ 1 Language[] result = (Language[])Enum.GetValues(typeof(Language)) вы получите ваши значения, если вы хотите список перечислений. Если вам нужен список имен, используйте это: string[] names = Enum.GetNames(typeof(Languages));
Ответ 2 Если я правильно понимаю ваше требование, вы ищете что-то вроде этого var enumList = Enum.GetValues(typeof(Language)).OfType<Language>().ToList();
Ответ 3 Если вы хотите сохранить элементы перечисления в списке как тип языка: Enum.GetValues(typeof(Language)).Cast<Language>().ToList(); Если вы хотите сохранить их как строку: Enum.GetValues(typeof(Language)).Cast<Language>().Select(x => x.ToString()).ToList();
Ответ 4 Вы можете использовать этот код static void Main(string[] args) { enum Days { Sat, Sun, Mon, Tue, Wed, Thu, Fri }; Array arr = Enum.GetValues(typeof(Days)); List<string> lstDays = new List<string>(arr.Length); for (int i = 0; i < arr.Length; i++) { lstDays.Add(arr.GetValue(i).ToString()); } }