Перечисления

Перечисления

Ключевое слово enum используется для объявления перечисления — отдельного типа, который состоит из набора именованных констант, называемого списком перечислителей. Обычно лучше всего определять перечисление непосредственно в пространстве имен, чтобы всем классам в пространстве имен было одинаково удобно обращаться к нему. Однако перечисление также может быть вложенным в классе или структуре. По умолчанию первый перечислитель имеет значение 0, и значение каждого последующего перечислителя увеличивается на 1.

enum DayOfTheWeek // Объявление перечисления
{
    Monday, // Это перечислитель. По умолчанию DayOfTheWeek.Monday = 0;
    Tuesday, // И это перечислитель. DayOfTheWeek.Tuesday = 1;
    Wednesday;
    Thursday,
    Friday,
    Saturday,
    Sunday
}
Значение любого перечислителя можно изменить. В этом случае, значения всех последующих перечислителей будет опираться на новое значение предшествующего перечислителя
enum DayOfTheWeek_v2
{
    Monday, // По умолчанию DayOfTheWeek.Monday = 0;
    Tuesday, // DayOfTheWeek.Tuesday = 1;
    Wednesday = 10, // DayOfTheWeek.Wednesday теперь равен 10, а не 3,
    Thursday, // а значение DayOfTheWeek.Thursday будет равно 11;
    Friday,
    Saturday,
    Sunday
}

Типы перечислений По умолчанию - int, но также можно использовать типы byte, sbyte, short, ushort, int, uint, long и ulong. Пример объявления перечисления типа short

enum DayOfTheWeek_v3 : short
{
    Monday,
    Tuesday,
    Wednesday,
    Thursday,
    Friday,
    Saturday,
    Sunday
}

Для получения значения перечислителя, необходимо выполнить приведение типа перечислителя к типу перечисления

Console.WriteLine((int)DayOfTheWeek.Tuesday);

Последнее изменение: Wednesday, 7 February 2018, 13:04