Массив - это структура данных содержащая набор переменных, доступ к которым производится посредством вычисляемых индексов. Переменные, содержащиеся в массиве, также называются элементами массива, все имеют один тип, который называется типом элементов массива.
Массив имеет размерность, которая определяет количество индексов ассоциированных с каждым элементом массива. Также размерностью массива называют количество его измерений. Массив с одним измерением называют одномерным, массив с большим количеством измерений называется многомерным.
Каждое измерение массива имеет длину. Длина измерения определяет допустимый диапазон индексов для данного измерения. Если для измерения явно не заданы границы, а задана только конечная длина N, то допустимыми значениями индексов являются значения от 0 до N – 1 включительно. Для измерения с границами N..M допустимыми значениями индексов будут значения от N до M.
Общее количество элементов массива равно декартовому произведению длин всех измерений. Если одно или более измерений имеет нулевую длину массив называется пустым.
Массив может быть любого простого типа, а также типа String. Если массив имеет тип Object, то в его элементах также могут храниться другие массивы.
Sub ArraySample();
Var
Arr1: Array Of Object; // Динамический массив. Размер определяется при инициализации
Arr2: array[5] Of Char; // Одномерный массив из 5 элементов
Arr3: array[-3..3] Of Integer; // Одномерный массив с диапазоном элементов от -3 до 3
Arr4: array[3, 3] Of Integer; // Двухмерный массив. Диапазон элементов в каждом измерении 0..3
Arr5: array[3, 2..4] Of Integer; // Двухмерный массив. Диапазоны элементов: 0..3 и 2..4
Arr6: array[2, ] Of Integer = New Integer[2, 3]; // Двухмерный массив, с заданной размерностью первого измерения
// Размер второго измерения задаётся при инициализации
Arr7: array[3, 3, 3] Of Integer; // Трехмерный массив
Begin
End Sub;
Sub ArraySample();
Var
Arr1: array Of Object = New Object[5] = [Integer.MaxValue, "ABC", Null, DateTime.Now, New Integer[5]];
Arr2: array[5] Of char = ['a', 'b', 'c', 'd', 'e'];
Arr3: array[-3..3] Of Integer = [1, 2, 3, 4, 5, 6, 7];
Arr4: array[4, 2] Of Integer = [[1, 2], [3, 4], [5, 6], [7, 8]];
Arr5: array[3, 2..4] Of Integer = [[1, 1, 1], [2, 2, 2], [3, 3, 3]];
Arr6: array[2, ] Of Integer = New Integer[2, 3] = [[1, 2, 3], [4, 5, 6]];
Arr7: array[3, 3, 3] Of Integer =
[[[1, 1, 1], [1, 1, 2], [1, 1, 3]],
[[2, 1, 1], [2, 2, 2], [2, 2, 3]],
[[3, 1, 1], [3, 2, 2], [3, 3, 3]]];
Begin
End Sub;
Sub ArraySample();
Var
Arr: Array[2, 2] Of Integer = [[0, 1], [2, 3]];
ElementValue: Integer;
Begin
// Доступ к элементам
Arr[0, 0] := Arr[0, 1] + Arr[1, 0];
// Работа с массивом в цикле For Each
For Each ElementValue In Arr Do
//
В переменной ElementValue будет доступно значение элементов массива
// Проход осуществляется по строкам,
слева направо
End For;
End Sub;
См. также: