Хорошо, крошечный вопрос. Я знаю. Основной ответ может быть
Convert.ToInt32(string);
Но, естественно, C # выполняет все естественные процессы, чтобы быть уверенным, что этого не произойдет.
Вот мой код:
while (true)
{
while (true)
{
//ask for time
Console.WriteLine("What is the hour?");
Console.WriteLine();
string s = Console.ReadLine();
//convert input to int
YourTime.nHour = Convert.ToInt32(s);
//check to see if it's legal
if ((YourTime.nHour <= 12) || (YourTime.nHour > 0))
{
break;
}
//etc etc code
}
}
Я хочу убедиться, что ввод фактического часа. Когда я запускаю этот код, он всегда помечает оператор if () как «true» и прерывается, даже если я ввел что-то вроде -13 или 99.
Я уверен, что есть простая замена для «Convert.ToInt32 (s);», но, честно говоря, похоже, что я все перепробовал. Я решил, что будет лучше следовать пошаговым инструкциям людей, которые знают код под рукой.
[EDIT] - неправильный оператор, а не преобразование. Спасибо всем, кто помог!