设置动态数组的边界

静态数组允许定义它们的下限和上限:

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上限?

回答

每次遇到关于Delphi语言的问题,都应该查阅官方文档。在这种情况下,名为Dynamic Arrays on Structured Types 的部分说明如下:

动态数组总是整数索引,总是从 0 开始。


以上是设置动态数组的边界的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>