Оператор continue в C#: как эффективно пропускать итерации циклов
Оператор continue в C#: как эффективно пропускать итерации циклов
Руководство объясняет работу continue в C# с практическими примерами для for, while, foreach и вложенных циклов.
В C# ключевое слово continue позволяет циклу сразу пропустить остаток текущей итерации и перейти к следующему циклу. При встрече управление переходит к проверке условия (или к обновлению в for) перед следующей итерацией.
Синтаксис прост:
continue;
Перед изучением continue убедитесь, что знаете:
- цикл for
- цикл while
- if…else
Пример 1: continue с циклом for
using System;
namespace ContinueLoop {
class Program {
static void Main(string[] args) {
for (int i = 1; i <= 5; ++i) {
if (i == 3) {
continue;
}
Console.WriteLine(i);
}
}
}
}
Вывод
1 2 4 5
Цикл печатает 1..5, но пропускает 3, так как continue срабатывает при i == 3.
Примечание: continue эффективен в паре с условной логикой if…else.
Пример 2: continue с циклом while
using System;
namespace ContinueWhile {
class Program {
static void Main(string[] args) {
int i = 0;
while (i < 5) {
i++;
if (i == 3) {
continue;
}
Console.WriteLine(i);
}
}
}
}
Вывод
1 2 4 5
Поведение зеркалит пример с for: итерация 3 пропускается.
Как работает continue

continue во вложенных циклах
Вложенные циклы часто используются для многомерных данных. continue можно применить к внутреннему циклу для пропуска конкретных внутренних итераций.
using System;
namespace ContinueNested {
class Program {
static void Main(string[] args) {
int sum = 0;
// внешний цикл
for (int i = 1; i <= 3; i++) {
// внутренний цикл
for (int j = 1; j <= 3; j++) {
if (j == 2) {
continue;
}
Console.WriteLine("i = " + i + " j = " + j);
}
}
}
}
}
Вывод
i = 1 j = 1 i = 1 j = 3 i = 2 j = 1 i = 2 j = 3 i = 3 j = 1 i = 3 j = 3
Оператор во внутреннем цикле пропускает итерацию где j == 2, предотвращая вывод этой пары.
Подробнее о вложенных циклах см. C# Nested Loops.
continue с циклом foreach
foreach также поддерживает continue, позволяя пропускать конкретные элементы коллекции.
using System;
namespace ContinueForeach {
class Program {
static void Main(string[] args) {
int[] num = { 1, 2, 3, 4, 5 };
foreach (int number in num) {
if (number == 3) {
continue;
}
Console.WriteLine(number);
}
}
}
}
Вывод
1 2 4 5
При встрече значения 3 continue пропускает остаток итерации, поэтому 3 не выводится.
Язык C
- Условная логика в C#: if, if-else, if-else-if и вложенные if
- Освоение оператора switch в C#: синтаксис, примеры и лучшие практики
- Оператор break в C#: как и когда использовать
- Освоение оператора break в C++
- Освоение оператора continue в C++: практические примеры и управление циклами
- Освоение оператора switch-case в C++: синтаксис, работа и практические примеры
- Условные операторы в C: if, else и не только — подробное руководство
- Управление потоком в C: операторы break и continue
- Оператор pass в Python: практическое руководство
- Базовый синтаксис C: токены, идентификаторы, ключевые слова и пробелы