Перечисления и оператор выбора
Перечисления и оператор выбора
Перечисления представляют набор логически связанных констант. Объявление перечисления происходит с помощью оператора 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