Перейти к основному содержимому

Цикл «для из» (обход коллекции)

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

Синтаксис

для значение-элемента из коллекция
тело-цикла
[прервать]
тело-цикла
[продолжить]
тело-цикла
;
  • значение-элемента

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

  • коллекция

    Коллекция, которую необходимо обработать.

Отличия от цикла «для по»

  • Нет переменной, выступающей в роли счетчика цикла. Вместо нее используется переменная значение-элемента, которая содержит ссылку на очередной элемент коллекции. Переменная объявляется с модификатором знч, что исключает присваивание ей какого-либо значения. С помощью этой переменной разработчик получает доступ к значению элемента коллекции и может выполнять любые поддерживаемые для элемента действия.
  • Отсутствует выражение, определяющее условие завершения цикла. При обходе коллекции цикл завершается тогда, когда обработаны все элементы коллекции. Принудительное завершение текущей итерации (с помощью ключевого слова продолжить) и принудительное завершение цикла (с помощью ключевого слова прервать) работают аналогично циклу для по.

Пример

Вычисление суммы и среднего арифметического
метод ВычислитьСуммуИСреднее(Массив: Массив<Число>): Строка
пер Сумма = 0

для Число из Массив
Сумма += Число
;

знч Среднее = Сумма / Массив.Размер()

возврат "Сумма = $Сумма, среднее = $Среднее"
;

метод ВыполнитьВычисления()
знч Массив = [10, 20, 30, 40, 50]
знч Результат = ВычислитьСуммуИСреднее(Массив) // Сумма = 150, среднее = 30
;