Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

Оператор continue в C#: как эффективно пропускать итерации циклов

Оператор continue в C#: как эффективно пропускать итерации циклов

Руководство объясняет работу continue в C# с практическими примерами для for, while, foreach и вложенных циклов.

В C# ключевое слово continue позволяет циклу сразу пропустить остаток текущей итерации и перейти к следующему циклу. При встрече управление переходит к проверке условия (или к обновлению в for) перед следующей итерацией.

Синтаксис прост:

continue;

Перед изучением continue убедитесь, что знаете:


Пример 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 в C#: как эффективно пропускать итерации циклов

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

  1. Условная логика в C#: if, if-else, if-else-if и вложенные if
  2. Освоение оператора switch в C#: синтаксис, примеры и лучшие практики
  3. Оператор break в C#: как и когда использовать
  4. Освоение оператора break в C++
  5. Освоение оператора continue в C++: практические примеры и управление циклами
  6. Освоение оператора switch-case в C++: синтаксис, работа и практические примеры
  7. Условные операторы в C: if, else и не только — подробное руководство
  8. Управление потоком в C: операторы break и continue
  9. Оператор pass в Python: практическое руководство
  10. Базовый синтаксис C: токены, идентификаторы, ключевые слова и пробелы