使代码循环直到多个参数成功
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.
您需要对两个条件部分使用 !
运算符来循环输入,直到输入 1 或 2。否则即使输入任何整数,循环也会中断。
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");
}
有如下一段代码:
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.
您需要对两个条件部分使用 !
运算符来循环输入,直到输入 1 或 2。否则即使输入任何整数,循环也会中断。
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");
}