Перечисления и оператор выбора

Перечисления и оператор выбора

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