我试图从用户输入中获取一个有效的整数,我写的函数必须显示这些输入的错误信息..
1)0或负数
2)一个字符串
适用于字符串但不适用于0或负数
我无法找到我的错误..: - (
public int getValidNumber()
{
int temp_int;
while ((!int.TryParse(Console.ReadLine(), out temp_int)) && (temp_int > 0))
{
Console.WriteLine("Not a valid number....try again");
}
return temp_int;
}
这是立即使用temp_int变量的正确方法吗??
答案 0 :(得分:1)
getValidNumber(Console.ReadLine());
...
public int getValidNumber(string input)
{
int temp_int = int.TryParse(input, out temp_int);
if (temp_int =< 0)
{
Console.WriteLine("Not a valid number....try again");
}
return temp_int;
}
答案 1 :(得分:1)
最明显的错误是,如果int大于0,则运行while,这是您不想要的:
//Assign to temp_int first:
int.TryParse(Console.ReadLine(), out temp_int);
while (temp_int < 1)
{
Console.WriteLine("Not a valid number....try again");
int.TryParse(Console.ReadLine(), out temp_int);
}