Введение в перечисления в C#
Перечисление описывает конечный список допустимых вариантов в предметной области: статус заказа, день недели, уровень доступа. Каждому варианту дают короткое имя, понятное при чтении кода, а тип не принимает значения вне этого списка.
Так модель становится явной для человека и для компилятора.
Вместо того чтобы помнить, что число 2 означает
«отправлено», в коде видят осмысленное имя константы.
Сравнение и выбор ветки логики опираются на один и тот же
набор имён, а ошибки вроде опечатки в строке или лишнего
числа легче заметить на этапе разработки.
Перечисления удобны в полях объектов, в параметрах методов и в возвращаемых значениях, когда функция должна сообщить не произвольный код, а один из заранее известных исходов. Они хорошо сочетаются с ветвлением по значению и с хранением состояния в классах, где важна предсказуемость данных.