I\'m working on some C# code that has loop syntax that I\'ve never seen before:
for (;;)
{
//Do some stuff
}
What does a for loop without
That is an infinite loop
. Like you stated, it will run until a part of it breaks (throws an exception or otherwise exists the loop) or the machine runs out of resources to support the loop.
for (;;)
{
//do stuff
}
Is just the same as:
do
{
//do stuff
}while (true)
while(true)
{
//do stuff
}
This type of for loop is an infinite loop. It is the equivalent of while(true){stuff to be executed...}
. It keeps on going until it hits a break, return, or a goto to a label outside the loop.
A for loop has three parts, an initialization, a condition, and a block to be executed after the loop. Without a condition to be tested against, the loop will just keep on going.
The syntax of a for
loop is thus:
for (condition; test; action)
Any one of those items can be omitted (per the language spec). So what you've got is an infinite loop. A similar approach:
while (true) { // do some stuff }
for (;;)
Short answer: It is an infinite loop which is equivalent to while(true)
Long answer: for (initializer; condition; iterator)
Structure of the for statement
for(;;) example from official documentation