MámNe. Nevim jak v Delphi, ale treba v C# plati, ze poradi klicu v Keys neni specifikovano. A dela to na me dojem, ze v tomhle to Delphi kopiruje: pouziva TKeyCollection a ta neumoznuje indexaci - je to jen enumerator, ale na poradi klicu bych se nespolehal, ani kdybych je vyloudil pruchodem pres vsechny klice. V podstate je to "pytlik" na neusporadane dvojice klic:hodnotaKód: Delphi [Vybrat]Je možné priamo získať poslednú hodnoty Key?
FYearsFlats: TDictionary<Integer, Integer>;
Ďakujem. Hľadám najvyššiu hodnotu a celkový položiek nebude veľký = počet rokov užívania programu. Takže pomocou iterácie to bude rýchlo.Jako vzdycky ;) Neni mezi hodnotou posledniho klice a nejvetsi hodnotou klice docela rozdil?
V tomto prípade ani nie. Položky napĺňam od najnižšieho roka (key) po najvyšší. Takže posledný je aj najvyšší. Ale keď sa nemôžem spoľahnúť na poradie... Ďakujem za ukážku kódu. O tom MaxIntValue som zabudol. Čítal som o tom, ale ešte som to nepoužil. Takže táto informácia nemala nárok uložiť sa do mojej hlavy :( :'(Ďakujem. Hľadám najvyššiu hodnotu a celkový položiek nebude veľký = počet rokov užívania programu. Takže pomocou iterácie to bude rýchlo.Jako vzdycky ;) Neni mezi hodnotou posledniho klice a nejvetsi hodnotou klice docela rozdil?
Pokud nejde o vykon, tak to nemusis iterovat sam:Kód: Delphi [Vybrat]
var maxKeyValue := MaxIntValue(dictionary.Keys.ToArray());
Jako vzdycky ;) Neni mezi hodnotou posledniho klice a nejvetsi hodnotou klice docela rozdil?
(mají Delphi v defaultu nějakou použitelnou stromovou strukturu?)Mam jen verzi 10.2 Tokyo a tam AFAIK nic neni. Existuje https://github.com/davidberneda/GenericTree (https://github.com/davidberneda/GenericTree).