C#for循环语法

时间:2019-01-17 22:14:51

标签: c#

我正在处理一些C#代码,这些代码具有我从未见过的循环语法:

for (;;)
{
  //Do some stuff
}

没有init; condition;increment的for循环会做什么?顺便说一句,在我尝试使用的任何搜索引擎上,都很难在互联网上找到"for (;;) c#“的有意义的搜索结果。

-埃里克

4 个答案:

答案 0 :(得分:11)

那是infinite loop。如您所述,它将一直运行直到它的一部分中断(引发异常或以其他方式存在循环)或计算机用完资源来支持循环为止。

for (;;)
{
   //do stuff
} 

与以下相同:

do
{
   //do stuff
}while (true)

while(true)
{
   //do stuff
}

答案 1 :(得分:8)

for循环的语法因此是:

for (condition; test; action)

这些项中的任何一项都可以省略(根据语言规范)。因此,您得到的是一个无限循环。一种类似的方法:

while (true) { // do some stuff }

答案 2 :(得分:7)

for (;;)

简短答案:这是一个无限循环,等效于while(true)

详细答案for (initializer; condition; iterator) Structure of the for statement

  • 初始化程序块:请勿初始化变量。
  • 条件块:无条件(意味着无限执行)=>而为真
  • iterator块:对任何变量都没有操作(没有迭代器)

for(;;) example from official documentation

答案 3 :(得分:3)

这种for循环是无限循环。它等效于while(true){stuff to be executed...}。它一直持续到遇到中断,返回或转到循环外的标签为止。

for循环包含三个部分,一个初始化,一个条件和一个在循环之后执行的块。如果没有要测试的条件,循环将继续进行。