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

223
16 января 2018, 10:20

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

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

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

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

Numbers.values().length;

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

Answer 1

Попробуйте так:

var enumCount = Enum.GetNames(typeof(Numbers)).Length;
Answer 2

Или так:

var count = Enum.GetValues(typeof(Numbers)).Length;

А так можно проитерировать по значениям:

foreach (Numbers e in Enum.GetValues(typeof(Numbers)))
    Console.WriteLine(e + " = " + (int)e);
Answer 3

можно так:

string[] tempEnumArray = Enum.GetNames(typeof(Numbers)); //превратим ваш enum в массив строк
int enumLen = tempEnumArray.GetLength(); // а вот теперь получим количество
READ ALSO
System.DllNotFoundException: “Не удается загрузить DLL ”csfml-audio-2“: Не найден указанный модуль. (Исключение из HRESULT: 0x8007007E)”

System.DllNotFoundException: “Не удается загрузить DLL ”csfml-audio-2“: Не найден указанный модуль. (Исключение из HRESULT: 0x8007007E)”

SystemDllNotFoundException: "Не удается загрузить DLL "csfml-audio-2": Не найден указанный модуль

265
Прочитать MD5 Hash файла в консоли

Прочитать MD5 Hash файла в консоли

Подскажите как реализовать проверку чтения файла на MD5 хеш сумму в консоли?

188
WCF Service ошибка 404 при обращении из report builder'а

WCF Service ошибка 404 при обращении из report builder'а

Есть сервис WCF на сервере sharepoint 2013, который корректно отвечает на запрос через браузер (http://sppj2013/_vti_bin/ReportingCustomServicesvc/DoWork), но выдает 404, если...

260
Ошибки при подключении прокси Unity

Ошибки при подключении прокси Unity

Подскажите что это за ошибка и как ее исправить, раньше дело с прокси не имел http://joxiru/5mdg495HvBoZar http://joxi

217