Używam Dictionary<TKey, TValue>
i otrzymuję dziwne, choć nieco zrozumiałe zachowanie w moich testach.Czy słownik <TKey, TValue> jest domyślnie sortowany według kluczy?
Bez względu na kolejność dodawania wpisów do słownika po wywołaniu Dictionary.Keys
klucze są zwracane w kolejności określonej przez implementację IComparable<T>
dla typu klucza.
Jest to dobre dla mnie, ponieważ chcę je zdobyć w takiej kolejności, ale nie mogę znaleźć nigdzie, że określa, że powinny one i zawsze będą zwrócone w ten sposób. Dlatego nie wiem, czy polegać na tym, że zawsze tak jest, czy robić (potencjalnie zbędny) sortowanie na List<T>
buduję.
Czy mogę polegać na tym zachowaniu, czy nie?