2015-07-06 12 views

cevap

8

Sözlükler sıralanamaz ve sıralanamazlar (karma olduklarından başka). Anahtarları veya değerleri sıralamak isterseniz başka bir kap kullanmanız gerekir. Örneğin:

program Project1; 

{$APPTYPE CONSOLE} 

uses 
    Generics.Collections, Generics.Defaults, SysUtils; 

var 
    LDict : TDictionary<integer, string>; 
    i, j : integer; 
    LArray : TArray<integer>; 
begin 
    LDict := TDictionary<integer, string>.Create; 
    try 
    // Generate some values 
    Randomize; 
    for i := 0 to 20 do begin 
     j := Random(1000); 
     LDict.AddOrSetValue(j, Format('The Value : %d', [j])); 
    end; 
    WriteLn('Disorder...'); 
    for i in LDict.Keys do 
     WriteLn(LDict.Items[i]); 
    // Sort 
    LArray := LDict.Keys.ToArray; 
    TArray.Sort<integer>(LArray); 
    WriteLn('Order...'); 
    for i in LArray do 
     WriteLn(LDict.Items[i]); 
    finally 
    LDict.Free; 
    end; 
    Readln; 
end.