Operation(OperationType: ArrayOperationType; Value: Variant);
OperationType. Тип операции над массивом;
Value. Значение, которое будет использоваться при выполнении операции над элементами массива.
Метод Operation выполняет арифметическую операцию над элементами массива с указанным значением.
Если массив, с которым осуществляется работа, является производным от первичного массива и получен путём обращения к элементам первичного массива без указания индекса по одному или нескольким измерениям, например Arr2 := Arr1[1, ], то при выполнении метода Operation вся работа будет производиться по ссылкам, а не с копией массива. Изменение данных во вторичном массиве приведёт к изменению данных в первичном массиве.
Для выполнения примера добавьте ссылку на системную сборку MathFin.
Sub UserProc;
Var
Matr: Array Of Double;
i, j: Integer;
Begin
// Создадим двумерный массив
Matr := New Double[3, 3];
Matr[0, 0] := 4; Matr[0, 1] := 9; Matr[0, 2] := 3;
Matr[1, 0] := 2; Matr[1, 1] := 15; Matr[1, 2] := 7;
Matr[2, 0] := 8; Matr[2, 1] := 5; Matr[2, 2] := 13;
Debug.WriteLine("Массив до выполнения операции:");
// Выведем созданный массив в консоль
For i := 0 To Matr.GetUpperBound(1) Do
For j := 0 To Matr.GetUpperBound(2) Do
Debug.Write(Matr[i, j].ToString + " ");
End For;
Debug.WriteLine("");
End For;
// Выполним арифметическую операцию над элементами массива
Matr.Operation(ArrayOperationType.Minus, 2);
// Выведем результат операции в консоль
Debug.WriteLine("Массив после выполнения операции:");
For i := 0 To Matr.GetUpperBound(1) Do
For j := 0 To Matr.GetUpperBound(2) Do
Debug.Write(Matr[i, j].ToString + " ");
End For;
Debug.WriteLine("");
End For;
End Sub UserProc;
После выполнения примера в консоль будет выведен массив до выполнения операции и после. При выполнении операции значения элементов массива уменьшатся на 2:
Массив до выполнения операции:
4 9 3
2 15 7
8 5 13
Массив после выполнения операции:
2 7 1
0 13 5
6 3 11
См. также: