为什么我的TStringList没有排序?

时间:2009-10-03 10:30:37

标签: delphi sorting

我有自定义排序TStringList ...

Items.CustomSort(@CompareWords);

...使用此比较功能:

function CompareWords(List: TStringList; Index1, Index2: Integer): Integer;
begin
  Result := StrIComp(PWideChar(List[Index1]), PWideChar(List[Index2]));
end;

但在注意到我的代码存在一些问题后,我希望列表按照StrIComp的顺序排序,我创建了这个小小的支票...

for i := 1 to Items.Count - 1 do
begin
  Assert(StrIComp(PWideChar(Items[i-1]), PWideChar(Items[i])) <= 0);
end;

......它失败了。

为什么列表没有正确排序?

1 个答案:

答案 0 :(得分:3)

你可能有Items.Sorted = True。