Подсчет во внутреннем цикле: 0 1 2 3 4 5 б 7 8 9 Подсчет во внешнем цикле: 2

Подсчет во внутреннем цикле: 0123456789 Циклы завершены

Как видите, операторbreakиз внутреннего цикла вызывает прерывание только этого цикла, а на выполнение внешнего цикла он не оказывает никакого влияния.

В отношении оператораbreakнеобходимо также иметь в виду следующее. Во-первых, в теле цикле может присутствовать несколько операторовbreak,но применять их следует очень аккуратно, поскольку чрезмерное количество операторовbreakобычно приводит к нарушению нормальной структуры кода. И во-вторых, операторbreak,выполняющий выход из оператораswitch,оказывает воздействие только на этот оператор, но не на объемлющие его циклы.

Применение оператора continue

С помощью оператораcontinueможно организовать преждевременное завершение шага итерации цикла в обход обычной структуры управления циклом. Операторcontinueосуществляет принудительный переход к следующему шагу цикла, пропуская любой код, оставшийся невыполненным. Таким образом, операторcontinueслужит своего рода дополнением оператораbreak.В приведенном ниже примере программы операторcontinueиспользуется в качестве вспомогательного средства для вывода четных чисел в пределах от 0 до 100.

// Применить оператор continue, using System;

class ContDemo {

static void Main() {

// вывести четные числа от 0 до 100. for (int i = 0; i <= 100; i++)    {

if((i%2)    != 0) continue; // перейти к следующему шагу итерации

Console.WriteLine(i);

}

}

}

В данном примере выводятся только четные числа, поскольку при обнаружении нечетного числа шаг итерации цикла завершается преждевременно в обход вызова методаWriteLine().

В циклахwhileиdo-whileоператорcontinueвызывает передачу управления непосредственно условному выражению, после чего продолжается процесс выполнения цикла. А в циклеforсначала вычисляется итерационное выражение, затем условное выражение, после чего цикл продолжается.

Операторcontinueредко находит удачное применение, в частности, потому, что в C# предоставляется богатый набор операторов цикла, удовлетворяющих большую часть прикладных потребностей. Но в тех особых случаях, когда требуется преждевременное прерывание шага итерации цикла, операторcontinueпредоставляет структурированный способ осуществления такого прерывания.

Оператор return

Операторreturnорганизует возврат из метода. Его можно также использовать для возврата значения. Более подробно он рассматривается в главе 6.

Оператор goto

Перейти на страницу:

Похожие книги