**An example.** This program uses the continue statement. In a while-true loop, the loop continues infinitely. We Sleep() to make the program easier to watch as it executes.

WhileSleep**Part 1:** A random number is acquired on each iteration through the loop, using the Next method on the Random type.

**Part 2:** The modulo division operator is applied to test for divisibility by 2 and 3.

RandomModulo**And:** If the number is evenly divisible, the rest of the iteration is aborted. The loop restarts.

**C# program that uses continue keyword**
using System;
using System.Threading;
class Program
{
static void Main()
{
Random random = new Random();
while (true)
{*
// Part 1: get a random number.
*int value = random.Next();*
// Part 2: if number is divisible by 2, skip the rest of the iteration.
*if ((value % 2) == 0)
{
__continue__;
}*
// If number is divisible by three, skip the rest of the iteration.
*if ((value % 3) == 0)
{
__continue__;
}
Console.WriteLine(*"Not divisible by 2 or 3: {0}"*, value);*
// Pause.
*Thread.Sleep(100);
}
}
}
**Output**
Not divisible by 2 or 3: 710081881
Not divisible by 2 or 3: 1155441983
Not divisible by 2 or 3: 1558706543
Not divisible by 2 or 3: 1531461115
Not divisible by 2 or 3: 64503937
Not divisible by 2 or 3: 498668099
Not divisible by 2 or 3: 85365569
Not divisible by 2 or 3: 184007165
Not divisible by 2 or 3: 1759735855
Not divisible by 2 or 3: 1927432795
Not divisible by 2 or 3: 648758581
Not divisible by 2 or 3: 1131091151
Not divisible by 2 or 3: 1931772589
Not divisible by 2 or 3: 283344547
Not divisible by 2 or 3: 1727688571
Not divisible by 2 or 3: 64235879
Not divisible by 2 or 3: 818135261...

**No enclosing loop.** We must use a continue statement within a loop. We get an error from the compiler if no enclosing loop is found. The same restriction applies to break.

Break**C# program that causes continue error**
class Program
{
static void Main()
{
continue;
}
}
**Output**
Error CS0139
No enclosing loop out of which to break or continue

**Some notes, branches.** In branch statements, a condition is tested. And based on whether the condition is true, the runtime jumps to another instruction in the sequence.

**Offset:** This new location is indicated by an offset in the opcode. So all branches "jump" to other parts of an instruction stream.

**Note:** The continue statement could be implemented by branching to the top of the loop construct if the result of the expression is true.

True, False