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

时间:2015-01-22 06:35:15

标签: c# loops

我正在尝试使用if语句和int.tryparse来尝试创建一个循环,该循环一直运行直到给出一个正确的整数。我的一个朋友说可以使用我上面提到的部分来完成。然而,我有疑虑,想知道是否有人可以验证这是有效的还是帮助我搞清楚。

到目前为止我已经

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

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

提前致谢,

杰夫

5 个答案:

答案 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;
}