Массивы

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

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

Каждое измерение массива имеет длину. Длина измерения определяет допустимый диапазон индексов для данного измерения. Если для измерения явно не заданы границы, а задана только конечная длина 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;

См. также:

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