Есть некий ENUM класс вида:
public enum Numbers
{
ONE = 1,
TWO = 2,
THREE = 3,
FOUR = 4,
FIVE = 5
}
Как узнать количество значений в списке перечисления? Просьба hardcode не предлагать.
P.S. В Java я могу взять весь список массивом и после узнать размер массива. Всё делается одной строчкой. Пример:
Numbers.values().length;
В Шарпе ума не приложу.
Попробуйте так:
var enumCount = Enum.GetNames(typeof(Numbers)).Length;
Или так:
var count = Enum.GetValues(typeof(Numbers)).Length;
А так можно проитерировать по значениям:
foreach (Numbers e in Enum.GetValues(typeof(Numbers)))
Console.WriteLine(e + " = " + (int)e);
можно так:
string[] tempEnumArray = Enum.GetNames(typeof(Numbers)); //превратим ваш enum в массив строк
int enumLen = tempEnumArray.GetLength(); // а вот теперь получим количество
Сборка персонального компьютера от Artline: умный выбор для современных пользователей