0

我仍在学习关于不可变性以及何时使用此类对象的很多知识,并且已经开始将更多查找合并到我的编码中,因为我知道它们是不可变的,因此通常比可以由客户更改的字典更好用。

话虽如此,我知道在将ReadOnlyDictionaries引入 .Net方面已经做了大量工作,但我有点困惑,每个人在哪里比另一个更有用,以及是什么让它们与众不同。我在网上查看过,但似乎找不到任何解释这种差异的文章。

例如,我看到了这个问题,并认为 Lookup 会是一个更理想的解决方案,但我不明白为什么它不会。

谁能指出我正确的方向/解释其中一个将在哪里使用。

谢谢!!

4

1 回答 1

5

查找是对集合进行分组的一种简单方法,您可以在其中为给定键设置一个 多个值。Dictionary 为给定键提供一个值,并且仅提供一个值。根据您的情况,拥有一个可以返回一个值的 Dictionary 可能最有意义,或者您可能希望拥有一个可以为您提供一组值的 Lookup。

如果你想要一个特定键的值集合,如果没有查找,你会遇到一些丑陋的东西,比如

Dictionary<int, IEnumerable<String>>

玉。有关查找的更多信息,请参阅https://msdn.microsoft.com/en-us/library/bb460184%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396

于 2016-08-22T19:42:23.830 回答