【发布时间】:2012-01-23 16:13:50
【问题描述】:
我有一个字典列表,List<Dictionary<String,Object>>。键是一些抽象记录的标识符。这些词典来自不同的地方。每个 Dictionary 的大小在 [0, 1000] 范围内。
所有字典都包含唯一键。在积累了一些词典后,我必须按键进行搜索。它可以通过迭代列表并在每个字典上调用搜索方法来完成,也可以通过将所有字典复制到一个中来完成。这些方法不能提供非常好的性能。我对优化此任务的方法很感兴趣。
编辑: 感谢你们!也许我会改变累积方法,结果问题本身就解决了!
【问题讨论】:
-
您不会绕过迭代
List并查询每个Dictionary。如果您在Add到每个Dictionary期间保留键的数据结构,则可以进行优化。也许是时候考虑一种不同的存储方法了? -
将它们分开存放字典的原因是什么?
-
@weston 因为单独的搜索;)
-
好的,所以有时您想限制到特定的字典,而其他时候您想搜索全部?如果是这样,为什么不搜索所有(我的意思是一个包含所有字典的字典),然后过滤结果。而不是过滤结果(通过使用单独的字典)然后按当前搜索。
标签: c# search optimization dictionary