Главная » Delphi » Delphi 2006 – Динамически размещаемые массивы .NET

0

При создании приложений для технологии .NET можно использовать еще одну возможность динамического размещения массивов в памяти во время выполнения программы — в дополнение к описанным выше динамическим многомерным массивам. Такие динамически размещаемые массивы отличаются от многомерных динамических массивов тем, что их длина по всем измерениям всегда фиксирована, а от статических — тем, что размеры по каждому из измерений на этапе компиляции неизвестны и могут вычисляться непосредственно во время работы приложения. При описании такого массива конкретные значения числа элементов по каждому измерению не указываются, однако синтаксис с квадратными скобками и запятыми, разделяющими измерения, сохраняется.

var a: array [,] of Integer;

Здесь мы описали двумерный массив, который в процессе работы программы может быть сформирован (размещен в памяти) с помощью команды New.

а := New( array [2,3] of Integer );

В результате массив а станет матрицей размером 2×3 элемента. Причем размеры массива можно указывать в виде выражений.

N := 3;

а := New( array [N, N+l] of Integer );

В функции New следом за описанием структуры массива можно задавать и список его начальных значений:

а := New( array [2,3] of Integer, ( (1,2,3),(4,5,6)) );

При желании можно воспользоваться и процедурой SetLength с перечнем длин массива по каждому измерению:

SetLength( а, 2, 3 );

Последний вариант будет работоспособен при использовании компилятора для Win32. Как уже говорилось, возможность задействовать ключевое слово New при создании многомерных динамических массивов доступна лишь в .NET-версии.

Бобровский С. И. Технологии Delphi 2006. Новые возможности. — СПб.: Питер, 2006. — 288 е.: ил.

По теме:

  • Комментарии