【发布时间】:2012-02-21 22:37:24
【问题描述】:
好的,小问题。我知道。基本反应可能是
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] - 错误的操作符,不是转换。感谢所有帮助过的人!
【问题讨论】:
-
你的时间是多少?您创建的课程?
-
没关系,有人已经回答了我要回复的内容