如何使用定义的元素创建字符串数组?例如,我想这样做:
var myArray : Tarray<string>;
.....
myArray := ['aaa','bbb'];
像这样,将数组初始化为一行
答案 0 :(得分:5)
除了您的代码实际上适用于XE7及更高版本(如Andreas已经提到的那样),您还可以使用Create
来初始化通用数组:
myArray := TArray<string>.Create('aaa','bbb');
自Delphi 10.3 Rio起,您甚至可以将声明与该分配结合起来,以防myArray
成为局部变量:
var myArray := TArray<string>.Create('aaa','bbb');
答案 1 :(得分:4)
在Delphi 10.3 Rio中,可以在代码中声明变量inline:
begin
...
var myArray : TArray<String> := ['aaa','bbb'];
...
end;
类型甚至可以是inferred:
begin
...
var myArray := ['aaa','bbb'];
...
end;
正如其他人所提到的,您的代码可在Delphi XE7上运行。
它还允许通过以下两种方式声明动态数组:
var
myArray : TArray<String> = ['aaa','bbb']; // Only works for global variables
const
myArray : TArray<String> = ['aaa','bbb'];
答案 2 :(得分:-3)
您可以通过assignable typed constants进行操作:
const
myArray: array [0..1] of string = ('aaa','bbb');
确保在项目属性(在Compiling
标签上)中启用了此选项。