【问题标题】:Why doesn't THashedStringList ignore duplicates?为什么 THashedStringList 不忽略重复项?
【发布时间】:2010-11-07 01:24:42
【问题描述】:

我有以下代码:

var
  sl: THashedStringList;
begin
  sl:= THashedStringList.Create;
  sl.Duplicates := dupIgnore;
  sl.Add('12345');
  sl.Add('12345');
  sl.Add('12345');
  sl.Add('12345');
  sl.Add('12345');
  sl.Add('12345');
  sl.Add('12345');
  ShowMessage(IntToSTr(sl.Count));
end;

但是当我看到 sl.Count 时,它给了我 7。这是什么错误?

【问题讨论】:

    标签: delphi delphi-2009


    【解决方案1】:

    您需要将 Sorted 属性设置为 TRUE 以使列表忽略重复项。该属性继承自TStringList,如果您查看TStringList.Duplicates 的文档,您会发现:

    注意:如果列表未排序,则 Duplicates 不会执行任何操作。

    【讨论】:

    • 这是因为 THashedStringList 继承了 TStringList 的 Duplicates 属性,以及 Add 方法的行为。在这个 Pavan 的例子中,THashedStringList 没有什么特别之处。
    猜你喜欢
    • 2015-11-08
    • 1970-01-01
    • 2021-10-28
    • 2021-08-21
    • 2020-03-14
    • 2019-12-10
    • 2014-12-27
    • 2012-09-01
    • 1970-01-01
    相关资源
    最近更新 更多