Delphi,如何重置多维数组

Delphi,如何重置多维数组,delphi,multidimensional-array,Delphi,Multidimensional Array,我有这样一个全局数组: FExample = Class private MyArray: Array of Array of Integer; End; 我在代码中填写: 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

我有这样一个全局数组:

FExample = Class
private
     MyArray: Array of Array of Integer;
End;
我在代码中填写:

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;
现在,我希望数组像设置第一个值之前、初始化之前一样为空。我必须做什么?

一些方法:

MyArray := Nil;

Finalize(MyArray);

SetLength(MyArray, 0);
请注意,这样一个接一个地扩展数组是无效的。考虑TLIST和其他可能性。


p.p.S.您没有显示真实代码

您可以通过一次调用来设置多维数组的长度

SetLength(MyArray, dim1, dim2 [, more dimensions]);
要重置数组调用

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

您从不分配内部数组。因此,您的代码将因运行时错误而失败(在修复长度拼写后)。