如何初始化声明中delphi静态数组的特定条目



我有一个用'a'..'z'枚举的全局数组变量。如果我想初始化变量声明中的一些条目,我通常会执行以下操作:

var 
  Example: Array['a'..'z'] of String = ('Example one', 'two', 'three');

有没有一种方法可以初始化变量声明中的"g"、"p"、"o"one_answers"y",或者我必须通过实现部分的一些函数/过程来初始化?

有没有更聪明的方法来实现我想要的?

您不能仅在那里初始化某些元素。正确的方法是在initialization部分,写在implementation:之后


implementation
...
initialization
  Example['g'] := 'something';
end.

根本没有办法指定您只想初始化特定的元素。全局数组变量的初始值设定项只是一个元素列表。元素按顺序指定。任何未指定的元素都设置为默认值,在您的情况下为''。由于列表是按顺序处理的,因此未指定的元素必须是数组末尾的元素。

为了做到这一点,您必须用代码编写这些初始化。

var 
  Example: Array['a'..'z'] of String; // global variable
....
// and later in code
Example['a'] := ...;
Example['b'] := ...;
... etc.

当然,您可以在代码中选择任何您喜欢的元素。

如果希望在程序启动时执行初始化,则必须从初始化部分调用初始化代码。

最新更新