Android Delphi-如何初始化字符串的TArray?
我正在寻找一种更好的方法来初始化我的Android Delphi-如何初始化字符串的TArray?,android,ios,arrays,string,delphi,Android,Ios,Arrays,String,Delphi,我正在寻找一种更好的方法来初始化我的lst\u设备:TArray变量 今天,我就是这样做的(这很难看,是一种代码味道,但至少效果很好) 如何改进它?字符串默认初始化为空字符串。所以你可以这样依赖它: SetLength(lst_devices_id, N); 在这里,您为数组分配所需的元素数,并依靠编译器将它们默认初始化为空字符串。请注意,这取决于之前未初始化的数组。如果不是这样的话,那么你必须首先完成它 Finalize(lst_devices_id); SetLength(lst_devi
lst\u设备:TArray
变量
今天,我就是这样做的(这很难看,是一种代码味道,但至少效果很好)
如何改进它?字符串默认初始化为空字符串。所以你可以这样依赖它:
SetLength(lst_devices_id, N);
在这里,您为数组分配所需的元素数,并依靠编译器将它们默认初始化为空字符串。请注意,这取决于之前未初始化的数组。如果不是这样的话,那么你必须首先完成它
Finalize(lst_devices_id);
SetLength(lst_devices_id, N);
“lst_devices_id:=nil;”是否比使用低级函数作为Finalize更优雅?@ZENsan Finalize是一个做同样事情的内在特性。从某种意义上说,它是一个高级函数,希望您从代码中使用它,而不仅仅是用于内部RTL代码。你挑吧。非常感谢你的解释。这就是为什么问我,让我明白。谢谢你,大卫。我希望我能为我从未听说过的
Finalize
函数投+2票:)如果你愿意,我相信你可以找到我的其他有价值的答案!!;-)
Finalize(lst_devices_id);
SetLength(lst_devices_id, N);