我确信这是一个简单的问题,但我不能让它运行:
var FMyList: TList<String>; begin FMyList := TList<String>.Create(?????); end;
如何插入而不是?????插入这3个字符串:
‘one’
‘two’
‘three’
谢谢..
解决方法
没有一种方法可以做到这一点.您可以编写自己的构造函数来执行此操作:
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;