Вопрос:
Как я могу получить количество элементов, определенных в перечислении?
Количество «предметов» может означать две совершенно разные вещи. Рассмотрим следующий пример.
enum MyEnum
{
A = 1,
B = 2,
C = 1,
D = 3,
E = 2
}
Какое количество «предметов» определено в MyEnum
?
Количество предметов 5? (A
, B
, C
, D
, E
)
Или это 3? (1
, 2
, 3
)
Количество имен , определенных в MyEnum
(5), может быть вычислено следующим образом.
var namesCount = Enum.GetNames(typeof(MyEnum)).Length;
Количество значений , определенных в MyEnum
(3), может быть вычислено следующим образом.
var valuesCount = Enum.GetValues(typeof(MyEnum)).Cast<MyEnum>().Distinct().Count();