Бывают ситуации, когда необходимо прекратить выполнение цикла досрочно (до того как перестанет выполняться условие), не прерывая при этом цикла. Для таких случаев удобно использовать инструкции break и continue.
Инструкция break.Если вы хотите на каком-то шаге цикла его прекратить, не выполняя до конца описанные в нем действия, то лучше всего использовать break. Следующий пример иллюстрирует его работу.
Программа выполняет поиск не простых чисел (которые имеют делитель без остатка) в интервале от 2 до 11. В программе используется два цикла for.
Первый цикл перебирает все числа делимого от 11 до 2. Переменная i инициализируется значением 11 и затем уменьшается на 1 с каждой итерацией. Второй цикл перебирает все числа делителя от ( j = i -1 ) до 2.
В теле внутреннего цикла проверяется условие: делится ли число i на число j без остатка. Если условие выполняется, то число i нельзя отнести к разряду простых чисел, и флаг, определяющий число как простое, устанавливается в false. Дальнейший поиск не имеет смысла. Цикл завершается инструкцией break.
using System;
namespace Break
{
class Program
{
static void Main()
{
bool IsPrimeNumber = true; // устанавливаем флаг простого числа
for (int i = 11; i > 1; i--)
{
for (int j = i - 1; j > 1; j--)
{
IsPrimeNumber = true;
// если есть делитель с нулевым остатком, сбрасываем флаг
Инструкция continue в отличие от break не прерывает хода выполнения цикла. Она лишь приостанавливает текущую итерацию и переходит к следующей итерации.
Пример. В нем в консоль выводятся нечетные числа в заданном диапазоне. Поверка осуществляется проверкой остатка от деления на 2, для нечетных чисел он не равен 0. В цикле перебираются все числа от 1 до 100. Если очередное число четное, то итерация завершается с пропуском последующих инструкций тела цикла и переходом к следующей итерации.