2009-02-25 4 views
11

나는 Dictionary<TKey, TValue>을 사용하고 있는데, 다소 이상하게 느껴질 지 모르지만 테스트에서 다소 이해할 수있는 행동입니다.기본적으로 사전에 <TKey, TValue> 순서가 있습니까?

Dictionary.Keys을 호출 할 때 사전에 항목을 추가해도 키 유형에 대한 IComparable<T> 구현에 지정된 순서대로 키가 반환됩니다.

어쨌든 순서대로 가져오고 싶을 때 유용하지만이 방법으로 항상 리턴되어야한다는 것을 명시하는 곳에서는 찾을 수 없습니다. 따라서, 나는 항상 그런 식으로 의존 할 것인지 또는 (잠재적으로 중복되는) 일종의 일을 할 것인지 모르겠다. List<T> 나는 짓고있다.

이 동작을 신뢰할 수 있습니까?

답변

16

가. 사전 <K,V> 정렬을 피상적으로 유사 수있는 작은 세트와 해시를 사용하는 키의 순서가 지정되지 말한다.