使代码循环直到多个参数成功

时间:2015-04-16 10:41:10

标签: c# while-loop

拥有以下代码:

while (!int.TryParse(Console.ReadLine(), out inValue))
            {
                Console.WriteLine("That is not a valid gender");
                Console.WriteLine("Please, insert a valid gender");
            } 

我不仅希望它循环直到int.TryParse成功(它现在做什么),我还希望它循环直到inValue == 1 || inValue == 2.只需将其添加到while语句就会引发错误。

2 个答案:

答案 0 :(得分:1)

您可以添加其他条件:

int inValue;
while (!int.TryParse(Console.ReadLine(), out inValue) && (inValue == 1 || inValue ==2))
{
    Console.WriteLine("That is not a valid gender");
    Console.WriteLine("Please, insert a valid gender");
} 

答案 1 :(得分:0)

  

我不仅希望它循环直到int.TryParse成功(什么   它现在呢),我也希望它循环直到inValue == 1 || inValue ==   2。

在条件部分上需要!运算符才能循环输入,直到输入 1 2 。否则,即使输入任何int数,循环也会中断。

int inValue;
while (!(int.TryParse(Console.ReadLine(), out inValue) && (inValue == 1 || inValue ==2)))
{
    Console.WriteLine("That is not a valid gender");
    Console.WriteLine("Please, insert a valid gender");
} 

注意:对于输入的任何int数,以下循环将中断。

while (!int.TryParse(Console.ReadLine(), out inValue) && (inValue == 1 || inValue ==2))
{
    Console.WriteLine("That is not a valid gender");
    Console.WriteLine("Please, insert a valid gender");
}