【发布时间】:2016-12-29 11:10:37
【问题描述】:
我仍在学习关于不可变性以及何时使用此类对象的大量知识,并已开始将更多 Lookups 合并到我的编码中,因为我知道它们是不可变的,因此通常比可以使用的字典更好由客户更改。
话虽如此,我知道在将ReadOnlyDictionaries 引入 .Net 方面已经做了大量工作,但我有点困惑,哪些地方会比另一个更有用,又是什么让它们与众不同。我在网上查看过,但似乎找不到任何解释这种差异的文章。
例如,我看到 this question 并认为 Lookup 会是一个更理想的解决方案,但我很困惑为什么它不会。
谁能给我指出正确的方向/解释一下哪个会比另一个用在哪里。
谢谢!!
【问题讨论】:
-
查找是一个键到多个值的映射,而字典是一个值的键。与不变性无关,但它们不是完全相同的数据结构。
-
听起来您想知道为什么将其设为只读?对于不应由外部或私人参与者更改的任何内容,答案都是相同的,即。为什么要只读某些东西/任何东西。它不是特定于字典的,我会说它确实是一个固执己见的问题。
-
我更困惑为什么还有一个 ReadOnlyDictionary 看起来查找基本上已经在执行这项工作。
-
您能否发布指向您所指的
Lookups类型的链接? -
你看过this answer whats the point of lookup或this answer dictionary vs. lookup吗?一个区别是允许查找每个键有多个值,字典不能。
标签: c# .net immutability lookup readonly-collection