English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C# предоставляет цикл while, который повторно выполняет блок кода до тех пор, пока указанное условие не вернет false.
Синтаксис:
while(condition) { // Блок кода }
Цикл while начинается с ключевого слова while и должен содержать в квадратных скобках布尔ское условие выражения, которое возвращает true или false. Он выполняет блок кода до тех пор, пока指定的 условие выражения не вернет false.
Этот цикл for содержит часть инициализации и часть инкремента/декремента. При использовании цикла while инициализация должна быть завершена до начала цикла, а инкремент или декремент должны выполняться внутри цикла.
int i = 0; // Инициализация while (i < 10) // Условие { Console.WriteLine("i = {0}", i); i++; // Увеличение }
i = 0 i = 1 i = 2 i = 3 i = 4 i = 5 i = 6 i = 7 i = 8 i = 9
В приведенном выше цикле while содержится выражение i < 10. В цикле while используется i++ для увеличения значения i до 1. Когда значение i равно 10 и условие i < 10 возвращает false, выполняется приведенный выше цикл while.
Используйте ключевые слова break или return для выхода из цикла while при некоторых условиях, как показано ниже.
int i = 0; while (true) { Console.WriteLine("i = {0}", i); i++; if (i > 10) break; }
Убедитесь, что результат вычисления условия выражения равен false, или退出 while-цикл при некоторых условиях, чтобы избежать бесконечного цикла. В следующем цикле отсутствует подходящее условие или прерывание цикла, что делает его бесконечным циклом while.
int i = 0; while (i > 0) { Console.WriteLine("i = {0}", i); i++; }
C# позволяет использовать цикл while в другом цикле while, как показано ниже. Однако, не рекомендуется использовать вложенные циклы while, так как это трудно отладить и поддерживать.
int i = 0, j = 1; while (i < 2) { Console.WriteLine("i = {0}", i); i++; while (j < 2) { Console.WriteLine("j = {0}", j); j++; } }
i = 0 j = 1 i = 1