Урок 6. Пропуск итерации цикла

В редких случаях нужно выполнения итерации цикла досрочно прервать и перейти к выполнению следующей итерации. В таких случаях нужно использовать оператор пропуска итерации continue.
Примеры использования оператора пропуска итерации в циклах:

static void Main()
{
    int counter = -1;

    Console.WriteLine("цикл с предусловием");

    while (counter < 4)
    {
        counter++;
        if (counter == 2)
        {
            continue;
        }
        Console.WriteLine("Counter = {0}", counter);
    }

    Console.WriteLine("\nцикл с постусловием");

    counter = -1;

    do
    {
        counter++;
        if (counter == 2)
        {
            continue;
        }
        Console.WriteLine("Counter = {0}", counter);
    }
    while (counter < 4);

    Console.WriteLine("\nцикл со счётчиком");

    for (counter = 0; counter < 5; counter++)
    {
        if (counter == 2)
        {
            continue;
        }
        Console.WriteLine("Counter = {0}", counter);
    }

    // Delay.
    Console.ReadKey();
}

Результат:

8

Примечание: как и оператор break, так и оператор continue рекомендуется использовать с условными конструкциями.

Напоминание

Неструктурные средства безусловных переходов: goto, break, continue. С точки зрения структурного программирования, команды досрочного выхода из цикла и продолжения итерации считаются избыточными. Нужно стараться моделировать их действия чисто структурными средствами – условиями и циклами.

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

Источник: видеоурок Александра Шевчука "ВИДЕОУРОК №6. ЦИКЛИЧЕСКИЕ КОНСТРУКЦИИ".

%D1%81%D1%82%D1%80%D0%B5%D0%BB%D0%BA%D0%B0%20%D0%B2%D0%BB%D0%B5%D0%B2%D0%BE%202 предыдущая статья | следующая статья %D1%81%D1%82%D1%80%D0%B5%D0%BB%D0%BA%D0%B0%20%D0%B2%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%202