使用Dictionary <int,list <obj>&gt;或简单的单个大型Collection <obj>,用于在大型List集合中获取</obj> </int,list <obj>

时间:2012-12-14 08:14:03

标签: c# list dictionary observablecollection

我目前的实现是我的收藏中有大量的对象。项目仅在启动时插入一次。

然后此列表用于搜索和从中获取对象。

每个对象都分配给具有int值的特定类型。

例如,在100个冰淇淋对象列表中,20个属于香草类,25个属于芒果类,依此类推。类别具有唯一的int标识符。

我应该用Dictionary<int,List<ice-cream>>替换当前的实现以获得更好的性能吗?

2 个答案:

答案 0 :(得分:1)

如果您可以为您确定用户将对数据执行搜索的程序设置组密钥,则使用Dictionary<..>是一种方法。

很难说出真实的东西,因为数据收集的概念太过分了。

答案 1 :(得分:1)

性能除外(100项是花生);

我认为您的代码应反映您的意图。如果您打算将这些对象视为列表,那么您应该有一个列表。但是当你基于id执行查找时,你应该有一个Dictionary。

你应该将这个字典包装在一个(静态/单例)类中,而不是在所有willy nilly周围传递这个字典。特别是如果您需要线程安全。