如何在 Delphi 中不使用迭代语句(for
或 while
循环)将一个数组 append 到另一个相同类型的数组?
最佳答案
有两个 dynamic arrays arr1
和 arr2
var
arr1, arr2: array of Integer;
. . .
SetLength(arr1, 3);
arr1[0] := 1;
arr1[1] := 2;
arr1[2] := 3;
SetLength(arr2, 3);
arr2[0] := 4;
arr2[1] := 5;
arr2[2] := 6;
您可以像这样将第一个 append 到第二个:
SetLength(arr2, Length(arr2) + Length(arr1));
Move(arr1[0], arr2[3], Length(arr1) * SizeOf(Integer));
见 System.Move 。
正如 Uwe Raabe's comment 指出的那样,您可以对托管类型执行以下操作:
SetLength(arr2, Length(arr2) + Length(arr1));
for i := Low(arr1) to High(arr1) do
arr2[3+i] := arr1[i];
关于arrays - 如何在 Delphi 中将一个数组 append 到另一个相同类型的数组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35406753/