c# - 实现恒等映射的最佳结构是什么?

标签 c# data-structures identity-map

尽管 DataTable 是一个内存大户,但如果对象集非常大,因为检索时间为 O(1),DataTable 不是实现和 IdentityMap 的最佳选择吗?

更新

如果我决定使用 IDictionary,我是否会在检索对象时牺牲速度?

最佳答案

任何 Dictionary<,> , SortedList<,>SortedDictionary<,>将是显而易见的选择 - 但请注意,排序在这里成为一个问题...... Dictionary<,>不保证任何特定顺序;另外两个按键而不是插入顺序排序。

另请注意,字典不能很好地处理数据绑定(bind)。创建类似 Collection<T> 的内容可能更可取, 但封装一个Dictionary<,>用于查找。当然,这完全取决于场景。

有关 SortedList<,> 之间性能等差异的更多信息等可以找到here .

关于c# - 实现恒等映射的最佳结构是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/275885/

相关文章:

c# - 如何在 C# 中使用 Newtonsoft 反序列化

ios - iPhone - 为我的应用程序存储数据的最佳方式

c++ - 如何从排序的数据创建 vector map

c# - 在哪里可以找到支持多个不同类型字段的 "Identity Field"(fowler) 模式的 C# 实现

java - 哪个 Android/Java ORM 像 Hibernate 一样使用 “object caching”?

c# - 如何将 F# dll 动态加载和卸载到 C# 项目中?

c# - 执行处理程序的子请求时出错(仅部署在服务器上的应用程序)

c# - 在 C# 中将 Datagridview 导出到 Excel

data-structures - 为什么redis SET中插入的时间复杂度是O(n)?