Этот самый распространенный итерационный оператор может содержать до трех частей. Первая, которая может встречаться только раз, служит для инициализации в начале цикла. Вторая — проверка условия, в результате которой определяется, выполнять ли цикл снова. И третья — "приращение" — обычно (но не обязательно) используется для инкремента счетчика, управляющего продолжением цикла — именно этот счетчик обычно анализируется во второй части оператора. Форма оператора/or:
for
(инициализация; булевское ^выражение; приращение) встроенный_оператор
Любая из трех частей
(инициализация, булевское^выражение, приращение)
может отсутствовать. Когда
булевское_выражение равно false
управление передается от начала цикла к строке, следующей за
встроенным_-оператором.
То есть оператор
for
работает так же, как и
while,
но при этом у вас две дополнительные части:
инициализация
и
приращение.
Вот пример оператора/or, который выводит отображаемые ASCII-символы: using System;
class ForTestApp {
const int StartChar = 33;
const int EndChar = 125;
static public void MainQ {
for (int i = StartChar; i <= EndChar; i++) {
Console.WriteLine("{0}={1}", i, (char)i); } } }
Последовательность событий в этом цикле
for
такова.
1. В стеке выделяется место для размерной переменной /, и она инициализируется значением 33. Эта переменная выйдет из области видимости по завершении цикла
for.
2
.
Встроенный оператор выполняется, пока значение / меньше 126. Здесь я применил составной оператор, но, поскольку в цикле содержится одна строка, будет тот же результат, если убрать фигурные скобки.
3. После каждого прохода цикла переменная
i
увеличивается на 1.