我有以下问题:
我正在将一些值填充到字典中,并希望以与我填充它们相同的顺序获取它们。
但不知何故,当我遍历这些项时,它们按非逻辑顺序(IMDO)排序。
运行以下程序后:
program Project1;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils, System.Generics.Collections;
var
Dictionary: TDictionary<LongWord, string>;
aPair: TPair<LongWord, string>;
begin
Dictionary := TDictionary<LongWord, string>.Create;
Dictionary.add(1, 'First Item');
Dictionary.add(2, 'Second Item');
Dictionary.add(3, 'Third Item');
Dictionary.add(4, 'Forth Item');
Dictionary.add(5, 'Fifth Item');
Dictionary.add($FFFFFFFF, 'Longword Item');
for aPair in Dictionary do
writeln(aPair.Value);
readln;
end.
我得到了以下结果:
Forth Item
Longword Item
First Item
Third Item
Second Item
Fifth Item
我做错了什么吗?
在XE5和Rad Studio Berlin上进行测试,结果相同。
感谢您的帮助。