Страницы

Поиск по вопросам

вторник, 31 декабря 2019 г.

Количество значений класса ENUM

#c_sharp #enum


Есть некий ENUM класс вида:

public enum Numbers
{
    ONE = 1,
    TWO = 2,
    THREE = 3,
    FOUR = 4,
    FIVE = 5
}


Как узнать количество значений в списке перечисления? Просьба hardcode не предлагать.

P.S. В Java я могу взять весь список массивом и после узнать размер массива. Всё
делается одной строчкой. Пример:

Numbers.values().length;


В Шарпе ума не приложу.
    


Ответы

Ответ 1



Попробуйте так: var enumCount = Enum.GetNames(typeof(Numbers)).Length;

Ответ 2



можно так: string[] tempEnumArray = Enum.GetNames(typeof(Numbers)); //превратим ваш enum в массив строк int enumLen = tempEnumArray.GetLength(); // а вот теперь получим количество

Ответ 3



Или так: var count = Enum.GetValues(typeof(Numbers)).Length; А так можно проитерировать по значениям: foreach (Numbers e in Enum.GetValues(typeof(Numbers))) Console.WriteLine(e + " = " + (int)e);

Комментариев нет:

Отправить комментарий