我确信这是一个简单的问题,但我无法让它运行:
var
FMyList: TList<String>;
begin
FMyList := TList<String>.Create(?????);
end;
如何插入而不是?????插入这3个字符串:
'一个'''两个'
'三个'
谢谢..
答案 0 :(得分:15)
不是一个班轮,而是两个班轮:
FMyList := TList<String>.Create;
FMyList.AddRange(['one', 'two', 'three']);
编辑:当然你可以将它与大卫的方法结合起来。
答案 1 :(得分:5)
没有一种方法可以做到这一点。您可以编写自己的构造函数来执行此操作:
constructor TMyList<T>.Create(const Values: array of T);
var
Value: T;
begin
inherited Create;
for Value in Values do
Add(Value);
end;
然后你可以写:
FList := TMyList<string>.Create(['one', 'two', 'three']);
<强>更新强>
正如Uwe在答案中正确指出的那样,我提供的代码应使用AddRange()
方法:
constructor TMyList<T>.Create(const Values: array of T);
begin
inherited Create;
AddRange(Values);
end;