Delphi - 如何初始化字符串的TArray?

时间:2016-05-31 19:03:43

标签: android ios arrays string delphi

我正在寻找一种更好的方法来初始化我的lst_devices : TArray<String>变量。

今天,我这样做(这非常难看,这是代码味道,但它至少可以正常工作)。

lst_devices_id := ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
        '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
        '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
        '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
        '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
        '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
        '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
        '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''];

我该如何改进?

1 个答案:

答案 0 :(得分:7)

字符串默认初始化为空字符串。所以你可以这样依赖:

SetLength(lst_devices_id, N);

这里为数组分配所需数量的元素,并依赖编译器将它们默认初始化为空字符串。请注意,这依赖于先前未初始化的数组。如果不是这样,那么你必须先完成它。

Finalize(lst_devices_id);
SetLength(lst_devices_id, N);