(;;)对C#的意义是什么

Ben*_*Ben 14 c# for-loop

我看到以下代码

for (;;)
{
//body...
}
Run Code Online (Sandbox Code Playgroud)

这是什么意思?

Jar*_*yer 20

它是一个没有起始值或条件的循环,所以它会永远存在,类似于

while (true)
{
    // body...
}
Run Code Online (Sandbox Code Playgroud)

你需要使用一个break;语句来摆脱循环.

  • 或者回归.或者例外(不是你应该这样做). (8认同)

Guf*_*ffa 13

像这样的循环:

for (i = 0; i < 4; i++) { ... }
Run Code Online (Sandbox Code Playgroud)

是相同的:

i = 0;
while (i < 4) {
   ...
   i++;
}
Run Code Online (Sandbox Code Playgroud)

所以,像这样的循环:

for (;;) { ... }
Run Code Online (Sandbox Code Playgroud)

是一个较短的形式:

for (;true;) { ... }
Run Code Online (Sandbox Code Playgroud)

所以它变成了:

;
while (true) {
   ...
   ;
}
Run Code Online (Sandbox Code Playgroud)

即初始化和修改是可选的,当省略条件时,它只是评估为true.


Mar*_*arz 5

这会导致无限循环.请参阅MSDN