【问题标题】:any reason to not use a dictionary任何不使用字典的理由
【发布时间】:2011-05-01 16:45:11
【问题描述】:

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

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

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

在这种情况下,您有什么理由不想使用字典?如果是的话,你会用什么来代替

【问题讨论】:

  • 对两者进行编码并配置文件以查看哪个获胜。如果没有关于确切场景的更多信息,很难确定什么是好的建议。例如:您的常见负载有多大,您需要支持多大的负载(面向未来),哪个代码更简单(您的描述还有很多不足之处 - 真正的代码会有所帮助),这甚至是一个瓶颈为您的应用程序,或者您只是轻而易举,等等。

标签: .net linq performance dictionary code-standards


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2020-12-26
      • 2018-06-21
      • 1970-01-01
      • 1970-01-01
      • 2016-06-16
      • 2011-12-02
      • 2010-12-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多