【发布时间】:2011-04-14 10:24:19
【问题描述】:
当我发现像这样的构造实际上可以编译并产生所需的结果时,这只是一个偶然:
var
Arr: TArray<Integer>;
begin
Arr := TArray<Integer>.Create(100, 101, 102);
end;
我只在 Delphi XE 中对其进行了测试,但它也可以在旧版本中使用。这是否记录在某处?
【问题讨论】:
-
它也适用于 Delphi 2010,它似乎是编译器的魔法。 Embarcadero documentation here 说 TArray
来自 Generics.Collections但它可以在不包含在 uses 子句中的情况下工作;Generics.Collections中的源代码没有引用任何类型的构造函数。 -
TArray<T>在System.pas中声明为array of <T>。Generics.Collection声明了TArray,它提供了一些用于搜索和排序的通用类方法。