如何在while while循环中跳过?

Але*_*тић -3 c#

问题是我不能写一个do while没有while部分的循环......我可以以某种方式跳过它或者......?

 // 9. Keep adding numbers untill you add number 7 twice in a row .
 int a;
 int b;

 do
 {
      Console.WriteLine("add number:");
      a = int.Parse(Console.ReadLine());
      Console.WriteLine("add number:");
      b = int.Parse(Console.ReadLine());
      if (a == 7 && b == 7)
      {
          break;
          Console.WriteLine("end");

      }
}
Run Code Online (Sandbox Code Playgroud)

Alf*_*cre 8

做到这一点的最好方法就是在你的时间里有条件

while(a != 7 || b != 7)
{
     Console.WriteLine("add number:");
     a = int.Parse(Console.ReadLine());
     Console.WriteLine("add number:");
     b = int.Parse(Console.ReadLine());
}
Console.WriteLine("end");
Run Code Online (Sandbox Code Playgroud)

这将使循环在发现两个值均为7时自动终止

根据@ AlexK的回答,你也可以让while没有条件,只是包含 true

while(true)
{
     Console.WriteLine("add number:");
     a = int.Parse(Console.ReadLine());
     Console.WriteLine("add number:");
     b = int.Parse(Console.ReadLine());
     if (a == 7 && b == 7)
     {
         break;
         Console.WriteLine("end");

     }
}
Run Code Online (Sandbox Code Playgroud)

这将与上面的代码相同,但不是检查值是否7在每个循环的开头,而是无限循环,直到在循环内手动退出

您可能还注意到我使用的语法是

while(/*condition*/)
{
    //code here
}
Run Code Online (Sandbox Code Playgroud)

这是您正在使用的语法的较短版本,但它的行为略有不同.如果在输入循环时不满足条件,上面的代码示例将永远不会运行任何代码,而下面的代码

do
{
    //code here
}
while(/*condition*/);
Run Code Online (Sandbox Code Playgroud)

do无论条件是否满足,都将始终运行至少一次包含的代码