9.7. Terminating a Loop With breakΒΆ

C#, like most programming languages, provides a mechanism for terminating a loop before it would complete otherwise. The break keyword, when used within a loop, will immediately terminate the execution of any loop. Program execution then continues at the next line of code below the loop.

Example

This loop executes 12 times, for values of i from 0 to 11. During the twelfth iteration, i is 11 and the condition i > 10 evaluates to true for the first time and execution reaches the break statement. The loop is immediately terminated at that point.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
for (int i = 0; i < 42; i++)
{

   // rest of loop body

   if (i > 10)
   {
      break;
   }

}

The break statement can also be used within a while loop. Consider a situation where we are searching for a particular element in an array. (We have seen that C# has array methods that can carry out array searches, but many programming languages do not.)

We can use a while loop to say, while we have not reached the end of the array, continue iterating. We can then include a break within a conditional check to say, when we have found the element we are searching for, exit the loop.

Example

A while loop can be used with break to search for an element in an array.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
int[] numbers = { 2,86, -19, 33, 450, 42 };
int searchVal = 42;
int i = 0;


while (i < numbers.Length)
{
   if (numbers[i] == searchVal)
   {
      break;
   }
   i++;
}

if (i < numbers.Length)
{
   Console.WriteLine("The value was located at index: " + i);
}
else
{
   Console.WriteLine("The value is not in the array.");
}

Notice that we use a while loop in this example, rather than a for loop. This is because our loop variable, i, is used outside the loop. When we use a for loop in the way we have been, the loop variable exists only within the loop.