Подтвердить что ты не робот

Преобразовать перечисление в список

Скажем, у меня есть следующие значения Enum

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

    }

Я хотел бы преобразовать их в список значений (i.e) { CSharp,Java,VB}.

Как преобразовать их в список значений?

4b9b3361

Ответ 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());
    }
  }