为什么我应该使用continue而不是空if语句?

Jaj*_*aja 3 .net c# if-statement continue

例如:使用此块的缺点/优点是什么:

for(int i = 0; i < 10; i++)
{
   if(i < 9){}
   else Console.Writeline(i);
}
Run Code Online (Sandbox Code Playgroud)

与此块相反:

for(int i = 0; i < 10; i++)
{
   if(i < 9)
   {
   continue;
   }
   Console.Writeline(i);
}
Run Code Online (Sandbox Code Playgroud)

考虑到他们的输出是完全一样的.

pok*_*oke 9

空块很奇怪,所以在这种情况下,你只需要反转条件:

for (int i = 0; i < 10; i++)
{
   if (i >= 9)
       Console.Writeline(i);
}
Run Code Online (Sandbox Code Playgroud)

但在一般情况下,使用continue或是break一种防止代码缩进太多级别的好方法.有关该主题的一些讨论,请参阅程序员SE上的这个问题.