Интересное

Как правильно использовать 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 #HTML/CSS #PHP #Python Сегодня программирование востребовано как никогда. Информационные технологии развиваются с колоссальной скоростью, и...

Что почитать программисту: 10 популярных книг по разработке

Разработка #Подборка #Программы #Веб-дизайн #Наука Какую литературу стоит прочитать программисту, чтобы стать более квалифицированным специалистом и превратиться из...

Как стать геймдизайнером: начало пути

Разработка #Карьера #Менеджмент #Игры Поговорим о том, кто такой геймдизайнер, чем он занимается и как им стать. Чем...

Платформы для интернет-магазина: какую выбрать?

Разработка #Обзор #Интернет-магазин #Bitrix #OpenCart Введение По статистике за 2016 год 30,5 млн жителей России совершают покупки в...

Криптопрограммирование: особенности и перспективы

Разработка #Криптовалюта #Фреймворки #Обзор #Технологии Разработка – перспективное и денежное направление. Эта сфера привлекает все больше людей, даже...

10 лучших конструкторов сайтов

Разработка #Веб-дизайн #Сервисы #Подборка #HTML/CSS #Конструктор Конструктор сайтов – это специальный сервис, позволяющий создать сайт без помощи программистов и...

Что такое Data Science

Разработка #Облачные решения #Обзор #Технологии #Аналитика #Карьера Поговорим о том, что такое Data Science, почему она так важна...

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

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

Язык программирования Python: применение, особенности и перспективы

Разработка #Программы #Обзор #Технологии #Карьера #Python Сегодня поговорим о том, что такое Python, чем же он хорош и...

Работа с массивами в JavaScript

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

Может ли робот обрести сознание? И если обретет, то как мы об этом узнаем?

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

О CSS-препроцессорах и фреймворках: зачем они нужны и с чем их едят

Разработка #Фреймворки #Обзор #Технологии #HTML/CSS Сегодня поговорим о том, как можно сделать работу с CSS проще и удобнее,...

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

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

Обзор лучших WYSIWYG-редакторов

Разработка #Обзор #Контент #JavaScript #OpenSource Рассматриваем лучшие текстовые WYSIWYG-редакторы, которые можно встроить на сайты и в веб-приложения. Полнофункциональные, быстрые...

10 лучших HTML-редакторов

Разработка #Программы #Редакторы кода #Подборка #HTML/CSS Рассматриваем лучшие приложения для работы с HTML-разметкой. Узнаем, чем пользуется верстальщик с глубокими познаниями...

Руководство по разработке приложений: как сделать приложение для iOS и Android самостоятельно

Разработка #Конверсия #Подборка #Разбор #UX/UI #Конструктор Разработка мобильного приложения от А до Я – это довольно долгая и...

Авторское право на код – как работает, когда защищает и как его зарегистрировать

Разработка #Программы #Законы #Разбор Поговорим о том, как работает авторское право на код в России и за рубежом....

Что такое язык программирования

Разработка #C/C#/C++ #Программы #Обзор #Веб-дизайн #Java Программа на компьютере или смартфоне – это последовательность команд, которую создавали с...

Как установить Java Development Kit

Разработка #IDE #Linux #Разбор #Java Для разработки на Java должен быть установлен комплект разработчика приложений – Java Development Kit...

Размещаем бота для Telegram: от выбора хостинга до запуска

Разработка #VDS #Telegram #Боты #JavaScript #Python Чат-боты для Telegram — простой, изящный и легковесный способ вывести общение с клиентами...