【发布时间】:2008-11-09 12:50:54
【问题描述】:
虽然 DataTable 会占用大量内存,但如果由于检索时间为 O(1) 而对象集非常大,那么 DataTable 不是实现和 IdentityMap 的最佳选择吗?
更新
如果我决定使用 IDictionary,是否会在检索对象时牺牲速度?
【问题讨论】:
标签: c# data-structures identity-map
虽然 DataTable 会占用大量内存,但如果由于检索时间为 O(1) 而对象集非常大,那么 DataTable 不是实现和 IdentityMap 的最佳选择吗?
更新
如果我决定使用 IDictionary,是否会在检索对象时牺牲速度?
【问题讨论】:
标签: c# data-structures identity-map
Dictionary<,>、SortedList<,> 或 SortedDictionary<,> 中的任何一个都是显而易见的选择 - 但请注意,排序在这里成为一个问题......Dictionary<,> 不保证任何特定的顺序;其他两个按键排序,而不是插入顺序。
还要注意,字典不能很好地与数据绑定配合使用。最好创建类似Collection<T> 的东西,但封装 Dictionary<,> 用于查找。当然,这一切都取决于场景。
更多关于SortedList<,>等性能等差异的信息可以在here找到。
【讨论】:
我更倾向于使用由 Dictionary
【讨论】: