我想知道如果用户在下面的代码中输入了无效的条目,该如何输出。例如,如果他们输入了字符串字符或字符串字符和数字的组合。现在,如果输入了无效的条目,它只会中断程序。请回答最基本的方法是什么,因为我是编程新手!
bootstrap
答案 0 :(得分:2)
您可以这样做:
int age;
if (int.TryParse(Console.ReadLine(), out age))
{
if (age > 17)
{
Console.WriteLine("That's too bad! You will have to wait until next year!");
}
// etc
}
else
{
Console.WriteLine("Please enter a valid input");
}
说明:
int.TryParse
是一种使用string
并尝试将其转换为int
的方法,如果转换成功,它将结果分配给age
变量,然后如果返回true,则导致程序进入if
块,否则返回false
,并且程序进入else
块。 age
变量通过使用C#的output parameters feature进行分配,这是将变量从 outside 传递给方法的一种方法,而后者承诺会为其分配一些值。
答案 1 :(得分:1)
您可以尝试使用int.TryParse
函数检查用户输入的数字是否为数字,这将返回一个bool
值
true
用户输入是一个数字。false
用户输入的不是数字。我将使用do ... while
而不是while
,因为这样可以使您的代码更清晰。
int age;
do {
Console.Write("Please enter the persons age: ");
if (!int.TryParse(Console.ReadLine(), out age)){
Console.WriteLine("Please enter a valid entry");
}
else if (age == 17)
{
Console.WriteLine("That's to bad! You will have to wait until next year!");
}
else if (age < 18)
{
Console.WriteLine("That's to bad! You will have to wait a couple years until you can come in!");
}
}
while (true);