Ответ 1
Он задокументирован в руководстве по языку.
Это было случайно, когда я узнал, что подобная конструкция действительно компилирует и дает желаемый результат:
var
Arr: TArray<Integer>;
begin
Arr := TArray<Integer>.Create(100, 101, 102);
end;
Я тестировал его только в Delphi XE, но он может работать и в более старых версиях. Является ли это документированным где-нибудь?
Он задокументирован в руководстве по языку.
Это общая версия следующего, которая работает еще в 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;
Наконец, это решение для возможности инициализации массива, не зная сначала размер.