Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/122.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Delphi-如何初始化字符串的TArray?_Android_Ios_Arrays_String_Delphi - Fatal编程技术网

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);