【发布时间】:2018-10-17 16:21:06
【问题描述】:
我正在尝试制作一个接受数字并将其打印在屏幕上的程序,但如果用户按下输入代码,则要求用户再次输入数字,但它却显示异常
Enter_No:
Console.WriteLine("enter number");
int? n = Convert.ToInt32(Console.ReadLine());
if (n == (int?)null)
{
goto Enter_No;
}
else
{
Console.WriteLine(n);
}
【问题讨论】:
-
你得到了什么异常,它说异常发生在哪一行?您需要检查该信息。
-
整数? n = Convert.ToInt32(Console.ReadLine());
-
输入字符串格式不正确
-
该错误是因为您试图将空字符串解析为数字。永远不要假设用户输入数据是干净的。此外,对于
int?类型(和其他值类型(例如结构)),您应该使用x.HasValue而不是与 null 进行比较。