delphi - 调整 TStringList 大小的更好方法?

标签 delphi tstringlist

我经常发现我需要“调整”TStringList 的大小以恰好容纳 N 个元素,要么向列表中添加额外的空字符串,要么删除不需要的字符串。

在 C++ STL 容器上,我可以使用 resize 方法,但由于该方法似乎不存在,因此我通常会执行类似的操作(警告:伪代码!)。

list.beginUpdate;

while list.Count < requiredSize do
begin
   list.add('');
end;

while list.Count > requiredSize do
begin
   list.delete(list.count-1);
end;

list.endUpdate;

是否有一种我忽略的更简单的方法?

最佳答案

TStringList.Assign的实现来看,没有更好的方法来做到这一点。他们基本上调用 Clear 并一一添加字符串。

您当然应该将代码放入实用方法中:

procedure ResizeStringList(List : TStrings; ANewSize: Integer);
begin
...
end;

或者您可以使用类帮助器使您的方法看起来像是 TStringList 本身的一部分。

关于delphi - 调整 TStringList 大小的更好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21088346/

相关文章:

delphi - 带模板的Word 201 0 auto 化

string - 变体记录中的短字符串?

delphi - 将 TStringList 包装在记录中

delphi - 使用 StringList :\n vs #13#10 vs sLineBreak 解析文本

delphi - 优雅地放松 "Local procedure/function assigned to procedure variable"限制

delphi - 选择时如何在 TImage 周围绘制矩形

delphi - 谁将 TCP 窗口大小设置为 0,Indy 还是 Windows?

delphi - 与字符串列表比较

delphi - TStringList 拆分错误

delphi - 如何使用 UTF8 不带 BOM 将对象从 TStringList 类保存到文件 (Delphi XE 2)?