首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Delphi TDictionary<String,TDateTime>按值排序

Delphi TDictionary<String,TDateTime>按值排序
EN

Stack Overflow用户
提问于 2016-10-14 15:48:04
回答 1查看 1.9K关注 0票数 2

我有一个像这样的TDictionary<String, TDateTime>

代码语言:javascript
复制
aDict := TDictionary<String, TDateTime>.Create;
try
    aDict.Add('Foo', StrToDateTime('2016-10-14 15:00:00'));
    aDict.Add('Bar', StrToDateTime('2016-10-14 14:00:00'));
    aDict.Add('Baz', StrToDateTime('2016-10-14 13:00:00'));
finally
    aDict.Free;
end;

如果我像这样循环字典:

代码语言:javascript
复制
for aKey in aDict.Keys do 
    WriteLn(aKey );

产出如下:

代码语言:javascript
复制
Bar
Baz
Foo

默认顺序似乎基于字母键,我希望对字典进行排序,从最老的到最新的TDateTime的值。预期产出如下:

代码语言:javascript
复制
Baz
Bar
Foo

有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-14 16:07:16

字典是无序的收藏。如果它以任何特定的方式出现,那完全取决于偶然。项目的顺序没有以任何方式定义。

如果希望订购这些项目,请将它们转移到数组(TArray<string>)或列表(TList<string>TStringList)中,并在那里对它们进行排序。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40047246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档