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

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

我们通常将需要遍历所有父母/子女,然后逐一列出。

在这种情况下,您有什么理由不想使用字典吗?如果是这样,您将使用

有帮助吗?

解决方案

如果您确实确实需要每次都对整个集合进行迭代,那么拥有一个Dictionary不会有太多(如果有的话)好处。另一方面,如果您偶尔需要通过特定实例的键来定位特定实例,那么可能需要Dictionary

请注意,即使您使用的是字典,您仍然可以在需要时仅遍历“值”列表,而不是比通过常规的List进行迭代更多的“权重”,但是您仍然可以拥有字典功能(如果需要)。

其他提示

在性能方面,这实际上取决于您的特定应用程序,因此您必须进行测试。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top