Циклы в C#.
В этой статье мы рассмотрим, что же такое циклы в C# и для чего они предназначены.
Цикл — конструкция, позволяющая выполнить один и тот же код некоторое количество раз, в зависимости от условия или выбранного количества. То есть, к примеру, если нам нужно вывести на экран один и тот же текст 100 раз, достаточно написать команду для вывода текста один раз и вложить её в цикл, который настроим на выполнение 100 раз.
В C# есть три вида цикла: for, while и do-while.
Цикл for.
С помощью цикла for мы можем задать
переменную для цикла,
условие, которое будет проверяться перед каждой итерацией (цикл будет выполняться, если условие истинно, иначе цикл завершится) и
действие, которое будет выполняться после итерации — одного выполнения кода в цикле. Пример:
for (int i = 0; i < 5; i++) {
Console.WriteLine(i);
}
В скобках у нас через точку с запятой ; как раз создана переменная (int i = 0;), условие (i < 5), где цикл будет работать, пока i < 5, и действие i++, которое выполнится после выполнения итерации. В итоге, в консоль после выполнения цикла выведутся числа 0, 1, 2, 3, 4.
Существуют также вложенные циклы — циклы, которые находятся в других циклах. Например:
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
Console.WriteLine(i, j);
}
}
Обратите внимание, что для обычных циклов принято использовать в качестве названия переменной i, а для вложенных циклов j, т.к. имя i уже занято. Но это лишь рекомендация, стандарт.
Цикл while.
Цикл while проще, чем for — в нём есть только условие. И если это условие истинно, цикл будет выполняться.
int i = 0;
while (i < 10) {
Console.WriteLine(i);
i++;
}
В итоге в консоль выведутся цифры от 0 до 9. Здесь сначала проверяется условие, а потом выполняется действие. Это и отличает цикл while от цикла do-while.
Цикл do-while.
Цикл do-while — то же самое, что и while, только условие проверяется после итерации, а не до. И если это условие становится ложным после итерации, цикл останавливается.
int i = 0;
do {
Console.WriteLine(i);
i++;
} while (i < 10);
Операторы continue и break.
Continue и Break — достаточно простые команды. continue досрочно переходит уже на следующую итерацию, а break досрочно завершает цикл. Пример с continue:
int i = 0;
while (i < 10) {
Console.WriteLine(i);
i++;
continue;
i--;
}
Если бы здесь не было команды continue, то этот цикл выполнялся бы бесконечно, ведь i за одну итерацию и прибавляется i++, и убавляется i--. Но так как между ними мы разместили команду continue, начинается следующая итерация цикла, и i-- не выполняется.
Пример с break:
int i = 0;
while (i < 10) {
Console.WriteLine(i);
if (i == 5) {
break;
}
i++;
}
Если бы здесь не было команды break, то в консоль вывелись бы числа от 0 до 9. Но так как мы ее здесь разместили, то по условию в if, когда i станет 5, цикл завершится из-за команды break, и в консоль успеет вывестись за всю работу программы только числа от 0 до 5.
Спасибо за прочтение!
Существует также цикл foreach, перебирающий все элементы массива, но это тема для отдельной статьи.