non*_*one 38 arrays delphi const
Delphi中是否有一种方法可以声明一个字符串数组,例如跟随一个字符串?
{'first','second','third'}
Run Code Online (Sandbox Code Playgroud)
RRU*_*RUZ 48
试试这个
Const
Elements =3;
MyArray : array [1..Elements] of string = ('element 1','element 2','element 3');
Run Code Online (Sandbox Code Playgroud)
LU *_* RD 40
在XE7中,您可以声明一个动态数组常量,如下所示:
const
MyArray: TArray<String> = ['First','Second','Third'];
Run Code Online (Sandbox Code Playgroud)
All*_*uer 16
您可以使用动态数组并尝试:
var
FMyArray: TArray<string>;
function MyArray: TArray<string>;
begin
if Length(FMyArray) = 0 then
FMyArray := TArray<string>.Create('One', 'Two', 'Three');
Result := FMyArray;
end;
Run Code Online (Sandbox Code Playgroud)
虽然这确实对堆上的动态数组进行了运行时初始化,但它也表明Delphi支持动态数组上的"伪构造函数",允许就地初始化.(注意:上面的代码不是线程安全的).
现在您需要做的就是找出数组的长度,使用Length()标准函数,或者找到允许的索引范围,使用Low()和High()标准函数.
如果您使用的是旧版本的Delphi,请将TArray替换为您自己的动态数组字符串类型,例如:
type
TStringArray = array of string;
Run Code Online (Sandbox Code Playgroud)