Jer*_*non 1 delphi variant dynamic-arrays
例如,如果我有以下内容:
type
TVArray = array of array of Variant;
var
MyArray : TVArray;
Run Code Online (Sandbox Code Playgroud)
然后我将一堆元素添加到MyArray中,使其具有1000个数组,每个数组包含30个变体.
如果我想立即执行此操作,释放该内存的最佳或首选方法是什么?
MyArray := nil;
Run Code Online (Sandbox Code Playgroud)
要么
SetLength(MyArray, 0);
Run Code Online (Sandbox Code Playgroud)
要么
Finalize(MyArray);
Run Code Online (Sandbox Code Playgroud)
或者我是否需要先对子阵列做些什么?各个变体包含哪些内容?
这三个都是等价的.你选择哪个是风格问题.我更喜欢第一个(分配nil),因为它非常简洁.
编译器知道如何释放Variant值.在释放数组之前,你不需要做任何额外的事情 - 如果你根本不打算释放数组,那么编译器最终会为你最终销毁它.