使用 if 语句和 int.tryparse 循环?

Using an if statement and a int.tryparse to loop?

我正在尝试使用 if 语句和 int.tryparse 来尝试创建一个循环来保持 运行 直到给出正确的整数。我的一个朋友说可以使用我上面提到的部分来完成。但是我有疑问,想知道是否有人可以验证这个作品或帮助我解决这个问题。

到目前为止我有

if (!int.TryParse(temp, out move)) 
{
    Console.WriteLine("Bad integer")
}

看着这个,我看不出它是如何循环的,我在想 while 循环可能会更好,但我不知道如何设置它。

提前致谢,

杰夫

除非那是 某种循环中,不断要求新的 temp 值,否则 不会 返回更多。

您正在寻找的是:

temp = Console.ReadLine();
while (!Int32.TryParse(temp, out move))  {
    Console.WriteLine("Bad integer");
    temp = Console.ReadLine();
}
// move should be okay now.

尽管您可以做很多改进,处理异常等等。

@Jeff 简单地使用 int.TryParse 不会形成循环。您必须将其写在 while 循环中,如下所示 -

while( //your condition)
{
  if (!int.TryParse(temp, out move)) 
  {
    Console.WriteLine("Bad integer")
  }
}
int move;

Console.Write("Enter int: ");
var temp = Console.ReadLine();

while (!int.TryParse(temp, out move))
{
    Console.Write("Enter int: ");
    temp = Console.ReadLine();
}

试试这个 -

    int j;
    while (!int.TryParse(Console.ReadLine(),out j))
    {
        Console.Write("Bad integer\n");
    }
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;
}