【发布时间】:2021-03-02 08:32:42
【问题描述】:
静态数组允许定义它们的下限和上限:
StaticArray : array[5..7] of Integer;
我不知道如何在运行时对动态数组做同样的事情。
例如,如果我需要从静态数组中复制元素,保持相同的索引,我不知道如何将其下限设置为Low(StaticArray),将上限设置为High(StaticArray):
var
StaticArray : array[5..7] of Integer;
DynamicArray : array of Integer;
i : integer;
begin
//initializing static array
StaticArray[5] := 1;
StaticArray[6] := 2;
StaticArray[7] := 3;
//setting the same length and bounds to the dynamic array
//?
//copying elements
i := 0;
for i := Low(StaticArray) to High(StaticArray) do
DynamicArray[i] := StaticArray[i];
end;
有什么方法可以设置动态数组的下限/上限,或者它们总是将0 作为下限,将Length(Array) - 1 作为上限?
【问题讨论】:
-
你为什么想要它?我知道下限和上限本身就是信息(即比例为
1.. 6而不是0.. 5),但这与区分定点小数和普通整数一样毫无意义。
标签: arrays delphi dynamic-arrays delphi-xe7