Перечисления и оператор выбора
Перечисления и оператор выбора
Перечисления представляют набор логически связанных констант. Объявление перечисления происходит с помощью оператора enum. Далее идет название перечисления, после которого указывается тип перечисления - он обязательно должен представлять целочисленный тип (byte, int, short, long). Если тип явным образом не указан, то по умолчанию используется тип int. Затем идет список элементов перечисления через запятую:
enum Day{Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday} enum Time : byte{ Morning, Afternoon, Evening, Night}каждому элементу перечисления присваивается целочисленное значение, причем первый элемент будет иметь значение 0, второй - 1 и так далее. Мы можем также явным образом указать значения элементов, либо указав значение первого элемента:
enum Operation { Add = 1, // каждый следующий элемент по умолчанию увеличивается на единицу Subtract, // этот элемент равен 2 Multiply, // равен 3 Divide // равен 4 }Но можно и для всех элементов явным образом указать значения:
enum Coin { Penny = 1, Nickel = 5, Dime = 10, Quarter = 25 }При этом контанты перечисления могут иметь одинаковые значения, либо даже можно присваивать одной константе значение другой константы. перечисление фактически определяет новый тип данных. Затем в программе мы можем определить переменную этого типа и использовать ее.
Day day; day = Day.Monday;Если мы будем выводить на консоль значение этой переменной, то мы получим имя константы. Если же необходимо получить числовое значение, то следует выполнить приведение к числовому типу. Таким же образом целое значение преобразуется к элементу перечисления
int d = (int)day; Day sunday = (Day)0;Оператор выбора имеет вид:
switch(выражение) { case константа1: последовательность операторов break; case константа2: последовательность операторов break; case константаЗ: последовательность операторов break; ... default: последовательность операторов break; }Ознакомьтесь с примерами по ссылке.
Последнее изменение: среда, 20 февраля 2019, 16:20