string l = Console.ReadLine();
try
{
int.Parse(l);
}
catch (FormatException)
{
Console.WriteLine("Invalid input. Please enter 1, 2, or 3.");
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我已经要求输入,但如果用户输入一个非整数的答案,如字母"f",catch语句会捕获它,但之后再次抛出异常,因为变量"l"仍然等于"f".救命?
您可以使用int.TryParse而不是捕获异常.它返回解析是否成功,因此您可以在循环中检查它,直到输入有效,例如
int i;
bool valid = false;
do {
Console.WriteLine("Enter an int: ");
string input = Console.ReadLine();
valid = int.TryParse(input, out i);
} while(! valid);
//use i
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4654 次 |
| 最近记录: |