У меня есть группа значений, которые представляют состояние (ON, OFF, READY, ...). Эти значения также сохраняются в БД как int-поле, поэтому мне интересно, скажут ли лучшие практики, что это перечисление или просто куча типов const int в классе.C# Enum или int const
Enum кажется естественным для чтения/кодирования человека, но похоже, что он скрывает тот факт, что он имеет значение, для которого целые значения соответствуют значениям (или значения, полученные из БД, будут созданы в неправильное состояние). Кто-то может прийти позже и добавить новое значение в перечисление или что-то еще и выбросить все это.
Каков наилучший подход?
Это верно и для целых чисел! Вы можете установить значение, которое вы хотите для каждого перечисления, и компилятор будет выполнять (немного) ваш код. По крайней мере, вы не сможете написать: myVar.MyEnum = 12345; –
Я бы попробовал 'enum' для вашего примера. Pi - постоянная, как и скорость света. По моему скромному мнению, ваш набор состояний не является. – Ste