Labeled break and continue Statements
Summary
Allow break and continue statements to optionally specify a label that identifies which loop or switch
statement to target, enabling cleaner control flow in nested constructs without requiring goto statements.
For example:
```csharp
outer: for (int x = 0; x < xMax; x++)
{
for (int y = 0; y < yMax; y++)
{
if (ShouldSkipRest(x, y))
continue outer;
if (ShouldExitAll(x, y))
break outer;
}
}
Design meetings
Labeled
breakandcontinueStatementsSummary
Allow
breakandcontinuestatements to optionally specify a label that identifies which loop orswitchstatement to target, enabling cleaner control flow in nested constructs without requiring
gotostatements.For example:
Design meetings