Как правильно использовать enum в C#

В 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# помогают разработчикам писать более читаемый и легко масштабируемый код. Их также часто используют для ограничения количества вариантов. 

Межтекстовые Отзывы
Посмотреть все комментарии
guest

Работаем с объектами в JavaScript

Разработка #Настройка #JavaScript В прошлой статье я рассказывал о массивах в JavaScript. Из нее мы можем понять, что...

Взгляд в будущее: смогут ли метавселенные заменить реальность

Разработка #Технологии #Тренды #Facebook #Криптовалюта Краткое введение в метавселенные. Что они собой представляют, как работают и стоит ли...

Преимущества и недостатки CMS 1С-Битрикс

Разработка #1С #Обзор #Интернет-магазин #Веб-дизайн #Bitrix 1С-Битрикс – одна из самых популярных CMS, на которой работают тысячи сайтов....

Что такое скрам-доска

Разработка #Программы #Обзор #Менеджмент #Оптимизация Поговорим об одном из наиболее часто используемых инструментов для повышения эффективности команды.  Что такое...

Что такое дополненная реальность

Разработка #Google #Продажи #Технологии #Сервисы Выбирали когда-нибудь кроссовки или диван в интернете? Не очень удобно, верно? Было бы...

Что такое User agent и как его изменить

Разработка #Браузеры #Веб-дизайн #Безопасность Во время взаимодействия с браузером пользователь может встретить такое понятие, как User agent. Используется...

Сравнение VPS и облачного хостинга для Bitrix

В современном мире веб-технологий выбор между VPS (виртуальным частным сервером) и облачным хостингом для системы управления контентом, такой...

Как измерить и повысить вовлечённость пользователей сайта

Автор: Виталий Купренко ­– маркетинговый копирайтер, компания по разработке мобильных и веб-приложений Cleveroad. Согласно исследованию Gallup, полностью вовлечённые...

Искусственный интеллект: краткая история, развитие, перспективы

Разработка #Обзор #Технологии #Нейросети #Наука #Гаджеты Сейчас технологии развиваются с немыслимой скоростью. Ранее те возможности, что, казалось бы,...

Создаем свой шаблон для Joomla. Пошаговое руководство

Разработка #Шаблоны #HTML/CSS #Joomla! В этой статье пойдет речь о создании своего шаблона для Joomla 3.х с возможностью...

10 лучших IDE

Разработка #C/C#/C++ #Ubuntu #Java #JavaScript #HTML/CSS #PHP #Python #Windows IDE (Integrated Development Environment) – это интегрированная, единая среда...

Чем занимается веб-разработчик и что нужно для того, чтобы им стать

Разработка #Карьера #JavaScript #HTML/CSS #PHP #Python Сегодня программирование востребовано как никогда. Информационные технологии развиваются с колоссальной скоростью, и...

Как правильно подключить CSS к HTML

Разработка #Настройка #HTML/CSS Рассмотрим, как применить CSS к сайтам и приложениям.  CSS – это таблица стилей. От нее зависит...

В Windows 11 добавится поддержка USB 4 2.0 со скоростью передачи данных до 80 Гбит/с

Новости #Обновления #Windows Реклама. ООО «ТаймВэб». erid: LjN8K8PQJ Корпорация Microsoft начала распространять пакет функциональных обновлений KB5034848 для Windows 11...

PHP: работа с БД MySQL

Разработка #Серверы #MySQL #PHP #Базы данных Базы данных используются для удобного хранения информации, а также для её структурирования....

Словари в Python и методы работы с ними

Разработка #Обзор #Python В одной из прошлых статей я разбирал списки в Python и методы работы с ними....

Как сделать лендинг своими руками за 30 минут

Разработка #Лендинги #Настройка #Веб-дизайн #Хостинг #Конструктор Разработка лендинга – это важный этап для тех, кто собирается продвигать услуги...

Как научиться читать код сайта и зачем это нужно, если вы не программист

Разработка #Браузеры #Веб-дизайн #HTML/CSS Часто возникают ситуации, когда необходимо проанализировать содержимое веб-страницы: посмотреть description, узнать размер какого-то элемента...

Лучшие компиляторы кода и IDE для C++

Разработка #C/C#/C++ #Программы #IDE #Редакторы кода #Подборка Рассказываем о лучших компиляторах и инструментах для разработки на С++. Что...

Как создать сайт на WordPress с нуля

Разработка #Настройка #WordPress #Базы данных #Оптимизация Поговорим о том, как создать сайт на базе WordPress и Timeweb. Сайт,...