C#用户输入需要> = 2,但如何制作呢?

时间:2012-10-14 12:28:51

标签: c# string if-statement int

由于某种原因,这部分对我来说很难。其他一切都运行得很好,但我似乎无法弄明白如何输入它重新询问输入是否为> = 2 ...

if (minimumSides >= 2)

我得到了这个部分,但它讨厌minimumsides >= 2.

do
{
    Console.Write("Enter minimum number of sides >2: ");
    int.TryParse(inputminside, out minimumSides);                               
    if (minimumSides >= 2)
        Console.Write("Enter minimum number of sides >2: ");
    else
        inputminside = Console.ReadLine();
}
while (!int.TryParse(inputminside, out minimumSides));

4 个答案:

答案 0 :(得分:3)

你快到了:

do {
    Console.Write("Enter minimum number of sides >2: ");
    inputminside = Console.ReadLine();
} while (!int.TryParse(inputminside, out minimumSides) || minimumSides < 2);

答案 1 :(得分:0)

问题可能是在循环的第一次迭代中“inputminside”尚未初始化?

答案 2 :(得分:0)

这是你可以做到的一种方式:

var minimumSides  = 0;

while (minimumSides <=2)
{
    Console.Write("Enter minimum number of sides >2: ");
    int.TryParse(Console.ReadLine(), out minimumSides);
}

// carry on with your code here...

答案 3 :(得分:0)

这就是你想要的 -

do
{
   Console.Write("Enter minimum number of sides >2: ");
   inputminside = Console.ReadLine();
}
while (!int.TryParse(inputminside, out minimumSides) && minimumSides < 2);