Menu
Coddy logo textTech

Бесконечный цикл

Часть раздела Основы путешествия по C# на Coddy — урок 47 из 69.

Бесконечный цикл — это цикл, который никогда не прекращается, потому что его условие всегда оценивается как true. Такие циклы могут возникать в любом типе цикла (for, while, do-while), но чаще всего они ассоциируются с циклами while и do-while, так как их условия задаются явно.

Вот пример бесконечного цикла while:

while (true) {
    Console.WriteLine("This will print forever!");
}

В этом случае условие просто true, которое всегда вычисляется как true. Таким образом, цикл будет выполняться бесконечно, снова и снова выводя сообщение.

Еще один способ создать бесконечный цикл — опустить условие в цикле for:

for (;;) {
    Console.WriteLine("This also prints forever!");
}

Здесь части инициализации, условия и обновления цикла for опущены. Это создает цикл, который выполняется бесконечно.

Бесконечные циклы также могут возникать непреднамеренно, например, когда условие цикла всегда true из-за логической ошибки:

int i = 0;
while (i < 10) {
    Console.WriteLine("i is: " + i);
    // Отсутствует i++ для инкремента i
}

В этом примере переменная i никогда не увеличивается, поэтому условие i < 10 всегда true. Это создает бесконечный цикл, который будет бесконечно выводить "i is: 0".

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

Шпаргалка

Бесконечный цикл — это цикл, который никогда не прекращается, потому что его условие всегда принимает значение true.

Преднамеренный бесконечный цикл while:

while (true) {
    Console.WriteLine("This will print forever!");
}

Бесконечный цикл for с пропущенными частями:

for (;;) {
    Console.WriteLine("This also prints forever!");
}

Непреднамеренный бесконечный цикл (отсутствует инкремент):

int i = 0;
while (i < 10) {
    Console.WriteLine("i is: " + i);
    // Отсутствует i++ для инкремента i
}

Попробуйте сами

В этом уроке нет задания по программированию.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы