如何在一条指令中创建带有定义元素的字符串数组?

时间:2019-01-22 10:44:43

标签: delphi delphi-xe2

如何使用定义的元素创建字符串数组?例如,我想这样做:

var myArray : Tarray<string>;
.....
myArray := ['aaa','bbb'];

像这样,将数组初始化为一行

3 个答案:

答案 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标签上)中启用了此选项。