Перечисление (enumeration) — это множество именованных целочисленных констант. Ключевое слово enum объявляет перечислимый тип. Формат записи перечисления таков:
enum имя {список_перечисления);
Здесь с помощью элемента имя указывается имя типа перечисления. Элемент список_перечисления представляет собой список идентификаторов, разделенных запятыми.
Рассмотрим пример. В следующем фрагменте кода определяется перечисление
apple, которое содержит список названий различных сортов яблок. I enum apple { Jonathan, GoldenDel, RedDel, Winsap, Cortland, Mclntosh } ;
Здесь важно понимать, что каждый символ списка перечисления означает целое число, причем каждое следующее число (представленное идентификатором) на единицу больше предыдущего. Поскольку значение первого символа перечисления равно нулю, следовательно, идентификатор Jonathan имеет значение 0, GoldenDel — значение 1 и т.д.
Константу перечисления можно использовать везде, где допустимо целочисленное значение. Однако между типом enum и встроенным целочисленным типом неявные преобразования не определены, поэтому при необходимости должна использоваться явно заданная операция приведения типов. В случае преобразования одного типа перечисления в другой также необходимо использовать приведение типов.
К членам перечисления доступ осуществляется посредством имени типа и оператора "точка". Например, при выполнении инструкции
I Console.WriteLine(apple.RedDel + " имеет значение " + I (int)apple.RedDel);
будет отображено следующее.