我想一切都在标题中...

我知道Dictionary<TKey,TValue>确实会按附加顺序保留键,但前提是您不删除任何键,而且无论如何,这种行为没有记录在案,也无法依靠(有关详细信息,请参见this question)。

基本上,如果我想要有序的键/值对集合,同时又保持O(1)访问时间,应该使用什么集合? (List<KeyValuePair<K,V>>不是一个好的选择,因为它具有O(n)访问时间)。我认为BCL中没有类似的东西,但是我只是想确定自己是否要推出自己的东西...

只是要向所有人清楚:我不希望对键进行排序,我只是希望它们按附加顺序保留。所以SortedList / SortedDictionary不是我想要的...

最佳答案

您能否仅保留一个ListDictionary来查找键在列表中的位置?这将允许您按添加顺序获取键/值对,但仍保持O(1)查找。

10-02 00:04