【发布时间】:2017-01-05 19:09:35
【问题描述】:
我已经尝试了几十次,但我似乎无法理解为什么这条线会执行?
Console.WriteLine("请输入一个数字。");
甚至在我输入任何字符作为输入之前,它就出现在屏幕上。 任何帮助表示赞赏
int numberAsInt;
while (true) {
try {
numberAsInt = Convert.ToInt32(Console.ReadLine());
break;
}
catch {
Console.WriteLine("please enter a number.");
}
}
【问题讨论】:
-
请提供minimal reproducible example(你有)和重现问题所需的数据 - 显然你正在读取你不期望的值 - 调试应该会显示它(通常你会先读入变量,这样更容易看到确切的值......)
-
我不同意反对票。这个问题有一切需要 - 我也很困惑为什么在我的机器上工作得很好......
-
启动程序后有没有按任何键?
-
正如其他人所说的调试问题。在转换前加上
string enteredValue = Console.ReadLine();,调试一下你输入的是不是真的是数字,然后试试转换。如果提供的值确实是数字,则您的代码可以正常工作。 -
请使用catch子句打印出异常信息,然后发布异常信息。还请将控制台的输入捕获到字符串变量中,并使用调试器找出该变量的值
标签: c#