The continue
statement starts a new iteration of the nearest enclosing while
, do
, for
, or foreach
statement.
The target of a continue
statement is the end point of the embedded statement of the nearest enclosing while
, do
, for
, or foreach
statement. If a continue
statement is not enclosed by a while
, do
, for
, or foreach
statement, a compile-time error occurs.
When multiple while
, do
, for
, or foreach
statements are nested within each other, a continue
statement applies only to the innermost statement. To transfer control across multiple nesting levels, a goto
statement (§8.9.3) must be used.
A continue
statement cannot exit a finally
block (§8.10). When a continue
statement occurs within a finally
block, the target of the continue
statement must be within the same finally
block, or otherwise a compile-time error occurs.
A continue
statement is executed as follows:
continue
statement exits one or more try
blocks with associated finally
blocks, control is initially transferred to the finally
block of the innermost try
statement. When and if control reaches the end point of a finally
block, control is transferred to the finally
block of the next enclosing try
statement. This process is repeated until the finally
blocks of all intervening try
statements have been executed.continue
statement.Because a continue
statement unconditionally transfers control elsewhere, the end point of a continue
statement is never reachable.