2
如何在不创建/定义x整数的情况下创建一个x整数数组。这个例子将创建一个10整数阵列(预填充用零中的每个元素):如何简化创建一个未填充的整数数组
var
IntArray : TArray<Integer>;
begin
IntArray := TArray<Integer>.Create(0,0,0,0,0,0,0,0,0,0);
end;
因此,我创建一个整数数组,它是120个整数长,这开始显得杂乱:
IntA := TArray<Integer>.Create(
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0);
现在我需要创建一个9000整数的数组,我不需要(或者不想)预先填充9000个零的数组。
是否有一个命令,如:
IntA := TArray<Integer>.Array[0..9000]; //This doesn't work
感谢。
我只是想知道为什么要在这里使用泛型? –
您应该始终使用动态数组的通用形式,因为它提供了与其他通用代码的兼容性。例外是,如果你必须支持没有泛型的旧版编译器。 –
@AntonDuzenko,泛型动态数组放宽了类型标识规则。参见[使用TArray而不是Array of T?]的原因是什么(http://stackoverflow.com/q/14383093/576719)。 –