enum MyColors {Seryj, Burij, Malinovij}; Первый элемент имеет индекс =0.
Можно задать другой номер индекса:
enum MyColors {Seryj=8, Burij, Malinovij}; Индексы остальных членов будут увеличиваться на 1. Индекс по-умолчанию имеет тип int и может быть любым целочисленным типом, что определяет размер перечисления. Задать другой тип индекса: enum MyColors : long {Seryj, Burij, Malinovij};
Воот. Теперь получение значений.
Получаем значение индекса:
byte Burij = (byte)MyColors.Burij; // используем приведение типа.
А для получения значений перечисления:
Array mc = Enum.GetValues(typeof(MyColors));
for (int i = 0; i < mc.Length; i++ ) {
Console.WriteLine( (MyColors)mc.GetValue(i) );
}
MyColors c = MyColors.Seryj;
if ( c == (MyColors)mc.GetValue(0) ) {
Console.WriteLine("Серый");
}
else {
Console.WriteLine("Не Серый");
}

Перечисление перечисления (enum)
