Книга: Описание языка PascalABC.NET
Оператор цикла foreach
Оператор цикла foreach
Оператор цикла foreach имеет одну из следующих форм:
foreach переменная in контейнер do
оператор
или
foreach переменная: тип in контейнер do
оператор
или
foreach var переменная in контейнер do
оператор
В качестве контейнера может фигурировать динамический массив, строка, множество, а также любой контейнер, удовлетворяющий интерфейсу IEnumerable или IEnumerable<T>(например, List<T>, Dictionary<Key,Value> и т.д.). Переменная цикла должна иметь тип, совпадающий с типом элементов контейнера (если контейнер удовлетворяет интерфейсу IEnumerable, то это тип object). В последней форме foreach тип переменной цикла автовыводится по типу элементов контейнера.
Переменная цикла пробегает все значения элементов контейнера и для каждого значения переменной цикла выполняется тело цикла. Изменение переменной цикла внутри тела цикла не меняет элементы контейнера, т.е. они доступны только на чтение.
Например:
var
ss: set of string := ['Иванов','Петров','Сидоров'];
a: array of integer := (3,4,5);
b: array [1..5] of integer := (1,3,5,7,9);
l := new List<real>;
begin
foreach s: string inssdo
write(s,' ');
writeln;
foreach x: integer in a do
write(x,' ');
writeln;
foreach var x inbdo
write(x,' ');
writeln;
foreach var r in l do
write(r,' ');
end.
- Операторы: обзор
- Оператор присваивания
- Составной оператор (блок)
- Пустой оператор
- Условный оператор
- Оператор описания переменной
- Оператор выбора
- Оператор цикла for
- Оператор цикла foreach
- Операторы цикла while и repeat
- Оператор with
- Оператор безусловного перехода goto
- Операторы break, continue и exit
- Оператор try ... except
- Оператор try ... finally
- Оператор raise
- Операторы += и -= для процедурных переменных
- Оператор lock
- Оператор цикла for
- 2.1.2. Неполный условный оператор
- Оператор безусловного перехода goto
- Оператор разрыва break
- Операторы
- Операторы: обзор
- Арифметические операторы
- 1.2.4. Операторы и приоритеты
- Условные операторы
- 1. Оператор Select – базовый оператор языка структурированных запросов
- Поразрядные операторы
- Логические операторы