У меня в основном фон C ++, и я изучаю C #. Итак, мне нужна помощь с идиомами и стилем C #.
Я пытаюсь написать в C # небольшой метод анализа текстового файла, в котором мне нужна простая переменная состояния с тремя состояниями. В C ++ я бы объявил enum
вот так для переменной состояния:
enum { stHeader, stBody, stFooter} state = stBody;
... а затем используйте его в моем цикле синтаксического анализа следующим образом:
if (state == stHeader && input == ".endheader")
{
state = stBody;
}
В C # я понимаю, что невозможно объявить enum
внутри метода. Итак, что я должен делать ради чистого стиля? Объявить этот внутренний enum
вне метода? Использовать магические числа 1,2,3? Создать отдельный класс для этого?
Пожалуйста, помогите мне прояснить мою путаницу.