for (Справочник по C#)
С помощью цикла for можно выполнять оператор или блока выписок повторно до тех пор, пока указанное выражение не будет оценки к false. Этот тип цикла полезен для перебора массивами и для других приложений, в которых известны заранее, сколько раз необходимо цикл повторных.
Пример
В следующем примере значение i записывано на консоль и увеличивается на 1 при каждой итерации цикла.
class ForLoopTest
{
static void Main()
{
for (int i = 1; i <= 5; i++)
{
Console.WriteLine(i);
}
}
}
/*
Output:
1
2
3
4
5
*/
Оператор for в предыдущем примере выполняет следующие действия.
Во-первых, начальное значение переменной i установлена. Данный шаг возникает только один раз независимо от того, сколько раз цикл повторит. Можно представить себе как вне этой инициализации случаясь циклической процесс.
Для оценки условия (i <= 5), значение i сравнитьо до 5.
Если i меньше или равно 5, то условие принимает значение true и выполняются следующие действия.
Оператор Console.WriteLine в теле цикла отображается значение i.
Значение i увеличивается на 1.
Цикл возвращается к началу раздела 2 для оценки условия.
Если i превышает 5, то условие принимает значение false и выйдете цикл.
Обратите внимание, что, если начальное значение i превышает 5, то тело цикла не выполняется, даже один раз.
Каждый оператор for определяет инициализатор, критерий и разделы итератора. В этих разделах обычно указывают, сколько раз цикл выполняется итерация.
for (initializer; condition; iterator)
body
Разделы используются следующие функции.
Раздел инициализатора устанавливает начальные условия. Выписки в этом распределяют выполнить только один раз, прежде чем вводе цикл. Раздел может содержать только один из следующих параметров 2.
Показано объявление и инициализации переменной локального очага перетаскивания, как первый пример (int i = 1). Переменная является локальной в цикл и не может быть получен доступ вне цикла.
Ноль или более expressons выписки из следующего списка, разделенные запятыми.
Оператор назначение
вызов метода
присоедините префикс или postfix выражение increment, как ++i или i++
присоедините префикс или postfix выражение уменьшение, как --i или i--
создание объекта с помощью новый
выражение подождите
Раздел условия содержит логическое выражение, вычисляемое для определения того, должен ли цикл оставить или должен выполнить попытку.
Раздел итератора определяет, что происходит после каждой итерации тела цикла. Раздел итератора, содержащая ноль или более следующих выражений выписки, разделенных запятыми.
Оператор назначение
вызов метода
присоедините префикс или postfix выражение increment, как ++i или i++
присоедините префикс или postfix выражение уменьшение, как --i или i--
создание объекта с помощью новый
выражение подождите
Тело цикла состоит из выписки пустая оператор или блок выписок, которые создании, заключив ноль или более выписок в фигурных скобках.
Можно прервать из цикла for с помощью ключевого слова break или можно осуществлять переход к следующей итерации с помощью ключевого слова continue. Также можно оставить любой цикл с помощью go, return или выписки throw.
Первый пример в этом разделе показывает типичный цикл for самый тип, который выполняет следующие варианты для секций.
Инициализатор объявляет и инициализирует переменную локального очага перетаскивания, i, которая поддерживает количество итерации цикла.
Проверяет условия значение переменной цикла для известного окончательного значения 5.
Шаг приращения выписку итератора использует постфиксная, i++, чтобы tally каждой итерации цикла.
Следующий пример иллюстрирует несколько менее общих вариантов: присвоение значения внешней переменной цикла в разделе инициализатора, то вызов метода Console.WriteLine как в инициализаторе, так и в разделах итератора, и изменить значения переменных в разделе 2 итератора.
static void Main()
{
int i;
int j = 10;
for (i = 0, Console.WriteLine("Start: {0}",i); i < j; i++, j--, Console.WriteLine("i={0}, j={1}", i, j))
{
// Body of the loop.
}
}
// Output:
// Start: 0
// i=1, j=9
// i=2, j=8
// i=3, j=7
// i=4, j=6
// i=5, j=5
Все выражения, определяющие выписку for являются необязательными. Например, следующий оператор создается бесконечный цикл.
for (; ; )
{
// ...
}
Спецификация языка C#
Дополнительные сведения см. в Спецификация языка C#. Спецификация языка является предписывающим источником информации о синтаксисе и использовании языка C#.
См. также
Ссылки
foreach, in (Справочник по C#)
Операторы перебора (Справочник по C#)
Основные понятия
Руководство по программированию на C#