Массивы

Массив - это структура данных содержащая набор переменных, доступ к которым производится посредством вычисляемых индексов. Переменные, содержащиеся в массиве, также называются элементами массива, все имеют один тип, который называется типом элементов массива.

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

Каждое измерение массива имеет длину. Длина измерения определяет допустимый диапазон индексов для данного измерения. Если для измерения явно не заданы границы, а задана только конечная длина N, то допустимыми значениями индексов являются значения от 0 до N – 1 включительно. Для измерения с границами N..M допустимыми значениями индексов будут значения от N до M.

Общее количество элементов массива равно декартовому произведению длин всех измерений. Если одно или более измерений имеет нулевую длину массив называется пустым.

Массив может быть любого простого типа, а также типа String. Если массив имеет тип Object, то в его элементах также могут храниться другие массивы.

Sub ArraySample();
Var
    Arr1: Array 
Of Object; // Динамический массив. Размер определяется при инициализации
    Arr2: array[5Of Char; // Одномерный массив из 5 элементов
    Arr3: array[-3..3Of Integer; // Одномерный массив с диапазоном элементов от -3 до 3
    Arr4: array[33Of Integer; // Двухмерный массив. Диапазон элементов в каждом измерении 0..3
    Arr5: array[32..4Of Integer; // Двухмерный массив. Диапазоны элементов: 0..3 и 2..4
    Arr6: array[2, ] Of Integer = New Integer[23]; // Двухмерный массив, с заданной размерностью первого измерения
                                                     // Размер второго измерения задаётся при инициализации
    Arr7: array[333Of 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[
5Of char = ['a''b''c''d''e'];
    Arr3: array[-
3..3Of Integer = [1234567];
    Arr4: array[
42Of Integer = [[12], [34], [56], [78]];
    Arr5: array[
32..4Of Integer = [[111], [222], [333]];
    Arr6: array[
2, ] Of Integer = New Integer[23] = [[123], [456]];
    Arr7: array[
333Of Integer =
        [[[
111], [112], [113]],
        [[
211], [222], [223]],
        [[
311], [322], [333]]];
Begin
End Sub;

Sub ArraySample();
Var
    Arr: Array[
22Of Integer = [[01], [23]];
    ElementValue: Integer;
Begin
    
// Доступ к элементам
    Arr[00] := Arr[01] + Arr[10];
    
// Работа с массивом в цикле For Each
    For Each ElementValue In Arr Do
        
// В переменной ElementValue будет доступно значение элементов массива
        // Проход осуществляется по строкам, слева направо
    End For;
End Sub;

См. также:

Руководство по языку Fore.NET