任何不使用字典的理由

时间:2010-10-28 05:19:40

标签: .net linq performance dictionary code-standards

我正在与同事讨论是否更好地使用字典并在结果集更改时重新填充它,或者每次只对列表中的所有元素使用linq循环。

我们正在尝试映射父/子关系,我建议使用ParentID作为字典键,将字典值作为自定义对象。

我们通常需要遍历所有父/子并在列表中运行。

在这种情况下你有什么理由不想使用词典吗?如果是这样你会用什么

2 个答案:

答案 0 :(得分:1)

性能方面,它确实取决于您的具体应用,因此您必须进行测试。

答案 1 :(得分:1)

如果你确实需要每次迭代整个集合,那么Dictionary就不会有太多(如果有的话)好处。另一方面,如果您偶尔需要按键找到特定实例,Dictionary可能就是您所需要的。

请注意,即使您使用的是词典,您仍然可以在需要时迭代值列表,因为没有比通过正常List迭代更多的“权重”,但是你会如果需要,仍然具有词典功能。