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)。 –