Для повторного выполнения последовательности операций в программе можно организовать цикл. Язык C# отличается большим разнообразием циклических конструкций. Здесь будет рассмотрен оператор цикла for
. Как и у оператора if
, у оператора for
в C# имеются аналоги в C, C++ и Java. Ниже приведена простейшая форма этого оператора.
for (инициализация; условие; итерация) оператор;
В самой общей форме в части инициализация данного оператора задается начальное значение переменной управления циклом. Часть условие представляет собой булево выражение, проверяющее значение переменной управления циклом. Если результат проверки истинен, то цикл продолжается. Если же он ложен, то цикл завершается. В части итерация определяется порядок изменения переменной управления циклом на каждом шаге цикла, когда он повторяется. Ниже приведен пример краткой программы, демонстрирующей применение оператора цикла for
.
// Продемонстрировать применение оператора цикла for.
using System;
class ForDemo {
static void Main() {
int count;
for (count = 0; count < 5; count = count + 1)
Console.WriteLine("Это подсчет: " + count);
Console.WriteLine("Готово!");
}
}
Вот как выглядит результат выполнения данной программы.
Это подсчет: 0
Это подсчет: 1
Это подсчет: 2
Это подсчет: 3
Это подсчет: 4
Готово!
В данном примере count
выполняет роль переменной управления циклом. В инициализирующей части оператора цикла for
задается нулевое значение этой переменной. В начале каждого шага цикла, включая и первый, проверяется условие count < 5
. Если эта проверка дает истинный результат, то выполняется оператор, содержащий метод WriteLine()
. Далее выполняется итерационная часть оператора цикла for
, где значение переменной count
увеличивается на 1. Этот процесс повторяется до тех пор, пока значение переменной count
не достигнет величины 5. В этот момент проверка упомянутого выше условия дает ложный результат, что приводит к завершению цикла. Выполнение программы продолжается с оператора, следующего после цикла.
Любопытно, что в программах, профессионально написанных на С#, вы вряд ли увидите итерационную часть оператора цикла в том виде, в каком она представлена в приведенном выше примере программы, т.е. вы редко встретите следующую строку.
count = count + 1;
Дело в том, что в C# имеется специальный оператор инкремента, выполняющий приращение на 1 значение переменной, или так называемого операнда. Этот оператор обозначается двумя знаками + (++
). Используя оператор инкремента, можно переписать приведенную выше строку следующим образом.
count++;
Таким образом, оператор цикла for
из приведенного выше примера программы обычно записывается в следующем виде.
for (count = 0; count < 5; count++)
Опробуйте этот более краткий способ записи итерационной части цикла. Вы сами можете убедиться, что данный цикл выполняется так же, как и прежде.
В C# имеется также оператор декремента, обозначаемый двумя дефисами (--
). Этот оператор уменьшает значение операнда на 1.
Условный оператор | Использование кодовых блоков |