我有一个像这样的全局数组:
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;
现在我想要在初始化之前设置第一个值之前将数组设置为空。我该怎么办?
答案 0 :(得分:7)
您可以通过一次调用
来设置多维数组的长度SetLength(MyArray, dim1, dim2 [, more dimensions]);
重置数组调用
SetLength(MyArray, 0);
SetLength(MyArray, dim1, dim2);
答案 1 :(得分:5)
一些方法:
MyArray := Nil;
Finalize(MyArray);
SetLength(MyArray, 0);
P.S。请注意,逐个扩展数组是无效的。考虑TList<>和其他可能性。
P.P.S。你没有显示真实的代码