Yurijnd.com
Четверг, 10.07.2025, 09:16
Меню сайта

Вход на сайт

Поиск

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0

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

    Visual Studio 2013
     

    С помощью цикла 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
    

    Разделы служат для следующих целей.

    • Раздел инициализатора устанавливает начальные условия. Оператор в этом разделе выполняется только один раз, перед тем как начнется цикл. Раздел может содержать только один из следующих двух параметров .

      • Объявление и инициализацию локального счетчика итераций (как в примере выше: int i = 1). 
        Переменная является локальной в цикле и не может быть получен доступ к ней вне цикла.

      • Ноль или более выражений оператора из следующего списка, разделенные запятыми.

        • оператор (assigment) назначение

        • вызов метода

        • присоедините префикс или postfix выражение increment, как ++i или i++

        • присоедините префикс или postfix выражение уменьшение, как --i или i--

        • создание объекта с помощью (new) новый

        • выражение (await) подождите

    • Раздел условия содержит логическое выражение, вычисляемое для определения того, должен ли цикл остановиться или должен выполнить попытку.

    • Раздел итератора определяет, что происходит после каждой итерации тела цикла. Раздел итератора, содержащий ноль или более следующих выражений выписки, разделенных запятыми.

      • оператор (assigment) назначение

      • вызов метода

      • присоедините префикс или postfix выражение increment, как ++i или i++

      • присоедините префикс или postfix выражение уменьшение, как --i или i--

      • создание объекта с помощью (new) новый

      • выражение (await) подождите

    • Тело цикла состоит из выписки, пустой выписки или блока выписок, которые вы создаете, заключив ноль или более выписок в фигурные скобки.

      Можно выйти из цикла for с помощью ключевого слова break или можно осуществить переход к следующей итерации с помощью ключевого слова continue. Также можно покинуть любой цикл с помощью goreturn или оператора throw.

    Первый пример в этом разделе показывает самый типичный цикл for, который выполняет следующие действия для секций.

    • Инициализатор объявляет и инициализирует локальную переменную цикла – i, которая содержит количество итераций цикла.

    • Проверяет условия значение переменной цикла для известного окончательного значения 5.

    • Шаг приращения итератора задает постфиксный оператор i++, к числу каждой итерации цикла.

    Следующий пример иллюстрирует несколько менее общих вариантов: присвоение значения внешней переменной цикла в разделе инициализатора, то вызов метода 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 (; ; )
    {
     // ...
    }
    Copyright MyCorp © 2025
    Сделать бесплатный сайт с uCoz