/ / Delphi, Zurücksetzen eines mehrdimensionalen Arrays - Delphi, multidimensionales Array

Delphi, Zurücksetzen eines mehrdimensionalen Arrays - Delphi, multidimensionales Array

Ich habe ein globales Array wie dieses:

FExample = Class
private
MyArray: Array of Array of Integer;
End;

Ich fülle es in den Code ein:

SetLenght(MyArray,Lenght(MyArray)+1);//The extension of the array now is 1
MyArray[High(MyArray)][0] := 3;
MyArray[High(MyArray)][1] := 3;

SetLenght(MyArray,Lenght(MyArray)+1);//The extension of the array now is 1
MyArray[High(MyArray)][1] := 31;

......
//The extension of the array now is maybe 14 or 28 or whatever and the second dimension also could be anyone.
SetLenght(MyArray,Lenght(MyArray)+1);
MyArray[High(MyArray)][0] := 2;

Jetzt möchte ich das Array leer wie es war, bevor Sie den ersten Wert setzen, bevor Sie initialisieren. Was muss ich tun ?

Antworten:

7 für die Antwort № 1

Sie können die Länge eines mehrdimensionalen Arrays mit einem Aufruf festlegen

SetLength(MyArray, dim1, dim2 [, more dimensions]);

So setzen Sie den Array-Aufruf zurück

SetLength(MyArray, 0);
SetLength(MyArray, dim1, dim2);

4 für die Antwort № 2

Einige Methoden:

MyArray := Nil;

Finalize(MyArray);

SetLength(MyArray, 0);

P.S. Beachten Sie, dass eine solche Erweiterung des Arrays einzeln nicht effektiv ist. Betrachten Sie TList <> und andere Möglichkeiten.

P. P. S. Du hast keinen echten Code angezeigt