Перечисления (enum) в C#

В языке программирования C# предусмотрен специальный тип данных под названием enum (enumeration) — перечисление. Этот тип используется для задания набора именованных целочисленных констант, которые логически связаны между собой. Перечисления делают код более читаемым и позволяют избежать использования "магических чисел", улучшая тем самым структуру программы.

 

 

Что такое enum?

 

enum — это пользовательский тип данных, который представляет собой набор именованных констант. Он позволяет задать осмысленные имена для определённых значений, как правило, целых чисел. Такой подход особенно полезен, когда нужно ограничить возможные значения переменной конкретным набором вариантов.

 

 

Синтаксис определения перечисления

 

enum DayOfWeek

{

    Monday,

    Tuesday,

    Wednesday,

    Thursday,

    Friday,

    Saturday,

    Sunday

}

 

В этом примере создаётся перечисление DayOfWeek, содержащее названия дней недели. По умолчанию каждому элементу перечисления присваивается целочисленное значение, начиная с нуля: Monday = 0, Tuesday = 1 и так далее.

 

 

Использование перечислений

 

После определения перечисления, вы можете использовать его в коде:

 

DayOfWeek today = DayOfWeek.Monday;

if (today == DayOfWeek.Monday)

{

    Console.WriteLine("Start of the work week.");

}

 

Вы также можете получить числовое значение элемента перечисления:

 

int dayNumber = (int)DayOfWeek.Wednesday;  // dayNumber будет равен 2

 

Или наоборот — получить элемент по числу:

 

DayOfWeek day = (DayOfWeek)4;  // day будет DayOfWeek.Friday

 

 

Указание значений вручную

 

Вы можете задать конкретные значения для элементов перечисления:

 

enum HttpStatusCode

{

    OK = 200,

    NotFound = 404,

    InternalServerError = 500

}

 

В этом случае каждый элемент будет иметь указанное значение, а не рассчитываться автоматически.

 

 

Использование перечислений с условными операторами

 

Перечисления отлично подходят для использования в конструкции switch:

 

HttpStatusCode status = HttpStatusCode.OK;

switch (status)

{

    case HttpStatusCode.OK:

        Console.WriteLine("Request succeeded.");

        break;

    case HttpStatusCode.NotFound:

        Console.WriteLine("Page not found.");

        break;

    case HttpStatusCode.InternalServerError:

        Console.WriteLine("Server error.");

        break;

}

 

 

Перечисления (enum) в C# — это мощный инструмент, позволяющий упростить работу с фиксированными наборами значений. Они делают код более понятным, безопасным и удобным в сопровождении. Используя enum, вы можете избавиться от множества числовых "магических" значений в коде и придать переменным осмысленные имена.

Лого

Spartacus_85 [Admin]

Администратор сайта — это специалист, который отвечает за техническую поддержку и бесперебойную работу веб-ресурса.



0 Комментарий(я)

Зарегистрируйтесь чтобы оставить комментарий