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 в предыдущем примере выполняет следующие действия.

  1. Во-первых, начальное значение переменной i установлена. Данный шаг возникает только один раз независимо от того, сколько раз цикл повторит. Можно представить себе как вне этой инициализации случаясь циклической процесс.

  2. Для оценки условия (i <= 5), значение i сравнитьо до 5.

    • Если i меньше или равно 5, то условие принимает значение true и выполняются следующие действия.

      1. Оператор Console.WriteLine в теле цикла отображается значение i.

      2. Значение i увеличивается на 1.

      3. Цикл возвращается к началу раздела 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#.

См. также

Ссылки

Ключевые слова C#

foreach, in (Справочник по C#)

Оператор for (C++)

Операторы перебора (Справочник по C#)

Основные понятия

Руководство по программированию на C#

Другие ресурсы

Справочник по C#