我可以在不丢失以前内容的情况下调整Delphi数组的大小吗?

时间:2010-07-06 06:02:11

标签: delphi dynamic-arrays

我有一个动态数组。但最初我不知道阵列的长度。我可以先做,我将它的长度设置为1,然后根据需要增加长度而不丢失以前存储的数据吗? 我知道我可以使用TList做这样的任务。但我想知道我是否可以用数组做到这一点?

1 个答案:

答案 0 :(得分:15)

动态数组可以调整为更大的尺寸,而不会丢失所包含的数据。

以下程序演示了这一点。

program Project7;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
 A : Array of Integer;
 I : Integer;
begin
  for I := 0 to 19 do
  begin
    SetLength(A,I+1);
    A[I] := I;
  end;
  for I := Low(A) to High(A) do
  begin
    writeln(A[I]);
  end;
  readln;
end.