如何最好地合并 TBytes
数组?
所有数组的大小都相同。我想将 Array2
的内容添加到 Array1
的末尾,将 Array3
添加到 Array2
的末尾,以此类推。
如何最好地合并 TBytes
数组?
所有数组的大小都相同。我想将 Array2
的内容添加到 Array1
的末尾,将 Array3
添加到 Array2
的末尾,以此类推。
TBytes
,您需要分配一个第三个TBytes
,其长度为两个单独的TBytes
的总长度,然后将两者的字节复制到其中。例如:var
arr1, arr2, merged: TBytes;
begin
...
SetLength(merged, Length(arr1) + Length(arr2));
if arr1 <> nil then Move(arr1[0], merged[0], Length(arr1));
if arr2 <> nil then Move(arr2[0], merged[Length(arr1)], Length(arr2));
end;
您可以使用类似字符串的操作:
var
LArray1, LArray2, LMerged: TBytes;
begin
...
LMerged := LArray1 + LArray2;
end;
或者您可以使用系统的“Concat”函数:
var
LArray1, LArray2, LMerged: TBytes;
begin
...
LMerged := Concat(LArray1, LArray2);
end;