Вы можете использовать метод Enum.TryParse для преобразования string
в enum
:
if (Enum.TryParse<Movies>(Console.ReadLine(), ignoreCase: true, out var bestMovie)) {
switch (bestMovie) {
case Movies.LOTR:
break;
case Movies.Starwars:
break;
case Movies.Matirx:
break;
default:
break;
}
} else {
Console.WriteLine("Unknown movie");
}
Я понимаю, что это всего лишь упражнение, но так как набориз доступных фильмов, вероятно, изменится, формулировка его как enum
не лучший вариант.В реальном приложении вы должны хранить информацию о фильме в базе данных («реальной» или в XML-файле, текстовом файле и т. Д.).Лучше всего использовать перечисления для постоянных вещей.Например,
enum DisplayMode
{
Basic,
Advanced
}
Поскольку соответствующие процедуры отображения жестко запрограммированы, имеет смысл также жестко кодировать режимы.