尽管 DataTable 是一个内存大户,但如果对象集非常大,因为检索时间为 O(1),DataTable 不是实现和 IdentityMap 的最佳选择吗?
更新
如果我决定使用 IDictionary,我是否会在检索对象时牺牲速度?
最佳答案
任何 Dictionary<,>
, SortedList<,>
或 SortedDictionary<,>
将是显而易见的选择 - 但请注意,排序在这里成为一个问题...... Dictionary<,>
不保证任何特定顺序;另外两个按键而不是插入顺序排序。
另请注意,字典不能很好地处理数据绑定(bind)。创建类似 Collection<T>
的内容可能更可取, 但封装一个Dictionary<,>
用于查找。当然,这完全取决于场景。
有关 SortedList<,>
之间性能等差异的更多信息等可以找到here .
关于c# - 实现恒等映射的最佳结构是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/275885/