我定义了一个大型的动态数组数组。现在,要有第二个数组bArray标记数组中的某个区域而不是副本!
type
TByteArray = array of Byte;
implementation
procedure SomeCode;
var
aArray : TByteArray;
bArray : TByteArray;
begin
setlength(aArray, 30);
aArray[4] := 12;
// here want to have bArray to hold 20 Bytes starting from Byte 5 in aArray
if bArray[0] = aArray[4] then begin
writeln('All OK');
end;
end;
最佳答案
这是不可能的。动态数组包含位于数组第一个元素之前的元数据。这与您想要一个动态数组(其第一个元素在另一个数组的中间)不兼容。
您可能需要使用指向子数组第一个元素的指针来解决您的问题。
关于delphi - 如何从TByteArray类型获取数组作为TByteArray类型较大数组的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47669636/