#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);
Комментариев нет:
Отправить комментарий