.net - 是否有一个 IDictionary 实现可以按照添加的顺序保存键? (未排序)

标签 .net collections dictionary

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

我知道Dictionary<TKey,TValue>确实会按附加顺序保留 key ,但前提是您不删除任何 key ,而且无论如何此行为都没有记录并且不能依赖(有关详细信息,请参见 this question)。

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

只是为了让大家明白:我不想让键排序,我只想让它们保持加法顺序。所以SortedList/SortedDictionary不是我要找的...

最佳答案

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

关于.net - 是否有一个 IDictionary 实现可以按照添加的顺序保存键? (未排序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8043125/

相关文章:

Swift二维字典错误

c++ - 无效的空指针 - C++ - VS2010

c# - xmldocument 和嵌套模式

c# - 如何使用 Roslyn 将语句插入具有规范化空白的 block 中?

Java 集合 : Framework Or a library?

excel - 处理时间是指数非线性的? (VBA 集合)

python - 如何将值添加到现有字典键 Python

asp.net - 当网站位于 Front Door 后面时,如何对搜索引擎隐藏 'azurewebsites' url?

.net - Task.FromCanceled 中的cancelToken 参数的用途是什么?

java - 如何提取列表中特定属性的所有元素?