Книга: Описание языка 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.

Оглавление книги


Генерация: 0.655. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз