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

Making code loop until multiple parameters successful

有如下一段代码:

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 语句会引发错误。

您可以像这样添加其他条件:

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");
} 

Not only do I want it to loop until int.TryParse is successful (what it does now), I also want it to loop until inValue == 1 || inValue == 2.

您需要对两个条件部分使用 ! 运算符来循环输入,直到输入 12。否则即使输入任何整数,循环也会中断。

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");
} 

注意:以下循环会因输入的任何整数而中断。

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");
}