16,749
社区成员
发帖
与我相关
我的任务
分享
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IniFiles;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
FCacheConfigList: THashedStringlist;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
t: Cardinal;
i: Integer;
begin
t := GetTickCount;
for i := 0 to 10000 do
FCacheConfigList.Add(IntToStr(i + 1));
FCacheConfigList.Sort;{问题在这里,第一次排序很快,如果再点击一次Button1就排序很耗时,等待大约5分钟以后排序完成,再点击button1就没问题了}
ShowMessage(IntToStr(GetTickCount - t));
ShowMessage(IntToStr(FCacheConfigList.Count));
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
FCacheConfigList := THashedStringlist.Create;
end;
end.