TArray <t> .Create()在某处记录了吗?</t>

时间:2011-04-14 10:24:19

标签: arrays delphi generics

当我发现像这样的构造实际编译并产生所需结果时,这只是偶然的机会:

var
  Arr: TArray<Integer>;
begin
  Arr := TArray<Integer>.Create(100, 101, 102);
end;

我只在Delphi XE中测试过它,但它也可以在旧版本中使用。这是在某处记录的吗?

2 个答案:

答案 0 :(得分:13)

它记录在language guide

答案 1 :(得分:10)

它是以下的通用版本,可以追溯到Delphi 2007:

type
  TIntArray = array of Integer;

var
  MyIntArray: TIntArray;
begin
  MyIntArray := TIntArray.Create(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
  ...
end;

这最终是一个能够在不知道大小的情况下初始化数组的解决方案。