为什么THashedStringList不会忽略重复?

时间:2009-06-30 15:44:07

标签: delphi delphi-2009

我有以下代码:

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.这是什么错误?

1 个答案:

答案 0 :(得分:15)

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

  

注意:如果未对列表进行排序,则重复项不会执行任何操作。