Циклы while и do-while в C#: синтаксис, примеры и лучшие практики
Освоение циклов while и do-while в C#
Изучите реализацию циклов while и do…while, их отличия и лучшие практики написания чистого, эффективного кода.
В разработке часто требуется повторное выполнение блока кода: перебор коллекций, обработка ввода, вычисления. Ручное повторение ошибочно и нечитаемо; циклы дают лаконичное, масштабируемое решение. Статья рассматривает два основных цикла C# — while и do…while — и их различия.
Цикл while в C#
while проверяет условие перед выполнением тела.
while (testExpression) {
// тело цикла
}
Как работает while
- Вычисляется булево
testExpression. - Если
true— выполняется тело, затем выражение пересчитывается. - Цикл завершается, когда выражение становится
false.
Блок-схема while

Пример 1: Базовый while
using System;
namespace Loop {
class WhileLoop {
public static void Main(string[] args) {
int i = 1;
while (i <= 5) {
Console.WriteLine("C# While Loop: Iteration {0}", i);
i++;
}
}
}
}
Вывод:
C# While Loop: Iteration 1 C# While Loop: Iteration 2 C# While Loop: Iteration 3 C# While Loop: Iteration 4 C# While Loop: Iteration 5
Цикл начинается с i = 1, продолжается пока i ≤ 5, инкрементирует i. Когда i = 6, условие ложно — выход.
Пример 2: Сумма первых пяти натуральных чисел
using System;
namespace Loop {
class WhileLoop {
public static void Main(string[] args) {
int i = 1, sum = 0;
while (i <= 5) {
sum += i;
i++;
}
Console.WriteLine("Sum = {0}", sum);
}
}
}
Вывод:
Sum = 15
Цикл накапливает i в sum до 5. Результат 15 подтверждает формулу суммы первых пяти натуральных чисел.
Цикл do…while в C#
do…while похож на while, но условие проверяется после выполнения тела. Это гарантирует хотя бы один проход тела, независимо от начального условия.
do {
// тело цикла
} while (testExpression);
Как работает do…while
- Сначала выполняется тело.
- Затем вычисляется
testExpression. - Если
true— тело повторяется. - При
false— выход.
Блок-схема do…while

Пример 3: Таблица умножения с do…while
using System;
namespace Loop {
class DoWhileLoop {
public static void Main(string[] args) {
int i = 1, n = 5, product;
do {
product = n * i;
Console.WriteLine("{0} * {1} = {2}", n, i, product);
i++;
} while (i <= 10);
}
}
}
Вывод:
5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45 5 * 10 = 50
Программа печатает таблицу умножения 5 от 1 до 10. Тело выполняется перед проверкой i <= 10, гарантируя все 10 итераций.
Бесконечные циклы в C#
Если условие никогда не становится false, цикл работает бесконечно. Такие бесконечные циклы уместны в событийных циклах, игровых циклах, долго работающих сервисах.
Бесконечный while
while (true) {
// тело цикла
}
Бесконечный do…while
do {
// тело цикла
} while (true);
Используйте бесконечные циклы осторожно и всегда предусматривайте стратегию выхода (например, break или внешнее условие), чтобы избежать истощения ресурсов.
Язык C
- Понимание ключевых слов и идентификаторов C#: правила, списки и лучшие практики
- Классы и объекты в C#: Фундаменты надёжного ООП
- Абстрактные классы и методы в C#: практическое руководство
- Частичные классы и методы в C#: понимание и применение
- Sealed-классы и sealed-методы в C#: когда использовать, примеры и повышение безопасности кода
- Циклы while и do-while: наглядное сравнение с практическими примерами
- Java-проверка чисел-палиндромов: алгоритмы с while и for циклами
- Константы и литералы в C: целочисленные, вещественные, символьные, строковые и определение констант
- Константы и литералы в C#: типы, правила и лучшие практики
- Освоение циклов WHILE в программировании SINUMERIK 840D