fr21
fr21

Reputation: 1806

Why doesn't THashedStringList ignore duplicates?

I have the following code:

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;

But when I see sl.Count, it gives me 7. What is the bug in this?

Upvotes: 7

Views: 1772

Answers (1)

mghie
mghie

Reputation: 32334

You need to set the Sorted property to TRUE in order to have the list ignore duplicates. The property is inherited from TStringList, and if you look at the documentation for TStringList.Duplicates you will find:

Note: Duplicates does nothing if the list is not sorted.

Upvotes: 16

Related Questions