Wie erstelle ich ein Array von X Ganzzahlen, ohne die x Ganzzahlen zu erstellen/definieren. In diesem Beispiel wird eine 10 Ganzzahl-Array (pre-bevölkerten mit Nullen in jedem Element) anlegen:So vereinfachen Sie das Erstellen eines unbestückten Arrays von Ganzzahlen
var
IntArray : TArray<Integer>;
begin
IntArray := TArray<Integer>.Create(0,0,0,0,0,0,0,0,0,0);
end;
So habe ich eine Reihe von ganzen Zahlen, die 120 ganzen Zahlen lang ist, die gestartet unordentlich aussehen:
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);
Und jetzt muss ich ein Array von 9000 Ganzzahlen erstellen, und ich brauche nicht (oder wollen) das Array mit 9000 Nullen vorzufüllen.
Gibt es einen Befehl wie:
IntA := TArray<Integer>.Array[0..9000]; //This doesn't work
Dank.
Ich frage mich nur, warum Generika hier verwenden? –
Sie sollten immer die generische Form des dynamischen Arrays verwenden, da diese Kompatibilität mit anderem generischen Code bietet. Eine Ausnahme ist, wenn Sie ältere Compiler ohne Generika unterstützen müssen. –
@AntonDuzenko, generische dynamische Arrays hat Typ Identity-Regeln entspannt. Siehe [Was sind die Gründe, TArray anstelle von Array von T zu verwenden?] (Http://stackoverflow.com/q/14383093/576719). –