C# 如何在do-while循环中跳过?

C# 如何在do-while循环中跳过?,c#,C#,问题是如果没有while部分,我就无法编写do 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 numb

问题是如果没有
while
部分,我就无法编写
do 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");

      }
}

最好的方法是在你的身体里保持这种状态

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");
这将使循环在发现两个值均为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");

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

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

while(/*condition*/)
{
    //code here
}
这是您正在使用的语法的一个较短版本,尽管其行为略有不同。如果输入循环时不满足条件,则上面的代码示例将永远不会运行任何代码,下面的代码

do
{
    //code here
}
while(/*condition*/);

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

您有两个可能的标题。或者直接将条件设置为
,而
-部分,就像Alfie已经说过的那样,或者使用无限循环。如果循环有多个退出路径,这尤其有用,例如:

while(true)
{
    if(a == 3) break;
    if(b == 7) break;
    // some more code
}

当然,这段代码是精心设计的,如果(a==3 | | b==7)break
很容易被
替换,但有时您无法(或不想)将所有条件合并为一个条件。此外,如果您想在某些条件下中断迭代,但在另一个条件下继续(例如减少代码嵌套),这可能是有用的。

那么
while(true){…}
是的,我是在alfie的帮助下完成的