В C# есть много интересных возможностей, помогающих разработчикам писать код на языке, который похож на человеческий. Одна из таких полезных штук – списки перечислений.
Давайте посмотрим, что такое enum в C# и как им пользоваться.
Что такое enum в C#
Enum – пользовательский тип данных, который представляет собой набор именованных целочисленных констант. По сути, это список однотипных значений: дней недели, кодов ответа сервера, арифметических действий.
В C# есть встроенный список цветов. Это отличный пример enum. Пользователю не нужно каждый раз вводить код цвета. Он просто выбирает значение из подготовленного заранее списка.
using System; class HelloWorld { static void Main() { //По умолчанию вывод в консоли белого цвета Console.WriteLine("Hello, World!"); //Изменили цвет на зеленый, выбрав его из списка Console.ForegroundColor = ConsoleColor.Green; //Теперь вывод в консоли зеленого цвета Console.WriteLine("Hello, World!"); } }
Как создать enum в C#
Теперь давайте разберемся, как создать enum в C#. Общая структура списка выглядит так:
enum Название_типа : целочисленный_тип { имена_констант_через_запятую }
- Сначала – ключевое слово enum. Оно указывает, что это перечисление.
- Затем мы задаем название типа. Им может быть любая строка, которую допустимо использовать в именах переменных.
- После двоеточия указывается тип данных констант, которые будут входить в состав перечисления. По умолчанию это int.
- В фигурных скобках перечисляются сами константы.
В качестве примера создадим перечисление простейших математических операций:
enum Math { Add, Subtract, Multiply, Divide }
У нас есть понятный список операций, который можно использовать для создания методов и при необходимости расширять.
Как использовать enum
Возьмем наше перечисление математических операций и посмотрим, как правильно использовать enum.
В качестве примера создадим метод DoMath, используя конструкцию switch.
static double DoMath(double a, double b, Math operation) { return operation switch { Math.Add => a + b, Math.Divide => a / b, Math.Multiply => a * b, Math.Subtract => a - b, _ => throw new Exception("Неизвестное действие") }; }
В методе используется перечисление Math, которое позволяет пользователю выбрать нужное арифметическое действие. Например, нужно выполнить умножение:
static void Main(string[] args) { double d = DoMath(11, 4, Math.Multiply); Console.WriteLine(d); }
В консоли будет выведено число 44.
Как enum улучшает читаемость кода
Главный плюс enum – код становится более читаемым. Не нужно каждый раз проверять реализацию класса, чтобы понять, за что отвечает аргумент и что он вообще делает. Enum дает возможность понятно описывать разные значения.
С enum также проще масштабировать код. Например, у нас есть список с простыми арифметическими действиями. Мы можем легко его расширить, добавив новую константу. А затем использовать ее в методе DoMath или в другом месте программы.
Заключение
Использование enum – хорошая практика. Перечисления в C# помогают разработчикам писать более читаемый и легко масштабируемый код. Их также часто используют для ограничения количества вариантов.
Комментарии