我正在尝试使用if语句和int.tryparse来尝试创建一个循环,该循环一直运行直到给出一个正确的整数。我的一个朋友说可以使用我上面提到的部分来完成。然而,我有疑虑,想知道是否有人可以验证这是有效的还是帮助我搞清楚。
到目前为止我已经
了if (!int.TryParse(temp, out move))
{
Console.WriteLine("Bad integer")
}
看着这个,我看不出它会如何循环,我认为while循环可能会更好,但我不知道如何设置它。
提前致谢,
杰夫
答案 0 :(得分:4)
除非在某个循环中,不断要求新的temp
值,否则赢得循环回来更多。
您正在寻找的是:
temp = Console.ReadLine();
while (!Int32.TryParse(temp, out move)) {
Console.WriteLine("Bad integer");
temp = Console.ReadLine();
}
// move should be okay now.
虽然您可以做很多事情来改进,处理异常等等。
答案 1 :(得分:0)
@Jeff简单地使用int.TryParse
赢得了一个循环。您必须在while
循环中编写它,如下所示 -
while( //your condition)
{
if (!int.TryParse(temp, out move))
{
Console.WriteLine("Bad integer")
}
}
答案 2 :(得分:0)
int move;
Console.Write("Enter int: ");
var temp = Console.ReadLine();
while (!int.TryParse(temp, out move))
{
Console.Write("Enter int: ");
temp = Console.ReadLine();
}
答案 3 :(得分:0)
试试这个 -
int j;
while (!int.TryParse(Console.ReadLine(),out j))
{
Console.Write("Bad integer\n");
}
答案 4 :(得分:0)
int corectinteger;
int input = Console.ReadLine();
bool flag = true;
while (flag)
{
if (input != corectinteger)
{
Console.WriteLine("Bad integer");
input = Console.ReadLine();
}
else if (input == corectinteger)
flag = false;
}