使用Create的运行时数组

时间:2017-12-01 00:33:39

标签: arrays delphi

说我有

ArrayOfTXSDecimal = array of TXSDecimal;

然后在运行时我做

Ids := ArrayOfTXSDecimal.create(14450);

我刚刚创造了什么?一个包含14450个索引或只是索引14450

的数组(ids)

1 个答案:

答案 0 :(得分:5)

您正在创建一个动态数组,其中一个元素的值为14450.您正在执行与此相同的操作:

SetLength(Ids, 1);
Ids[0] := 14450;

动态数组的Create()语法为documented on Embarcadero's DocWiki

  

为动态数组分配内存的另一种方法是调用数组构造函数:

type
  TMyFlexibleArray = array of Integer;

begin
  MyFlexibleArray := TMyFlexibleArray.Create(1, 2, 3 {...});
end;
     

为三个元素分配内存,并为每个元素分配给定的值。