Вы должны использовать int.Parse
, если ожидается, что ввод будет "числовым". И, int.TryParse
поможет вам поймать числовой ввод:
var input = Console.ReadLine();
if (int.TryParse(input, out var value))
{
if (1 <= value && value <= 7)
{
Console.WriteLine("The day you picked was {0}", (EDay)value - 1);
}
else
{
Console.WriteLine("PLease enter an number between 1 - 7");
}
}
else
{
Console.WriteLine("Please enter an actual numerical day of the week.");
}
Вы также можете использовать Enum.TryParse
, если вы также хотите принять ввод как "понедельник" с добавлением числового значения. Просто убедитесь, что изменили эту строку, если хотите, чтобы 1
отображался на Monday
:
Monday = 1,
Вы также можете использовать (EDay)value
напрямую, если вы внесли указанное выше изменение для решения int.TryParse
.