. net中ReadOnlyDictionary和Lookup的区别

本文关键字:区别 Lookup ReadOnlyDictionary net | 更新日期: 2023-09-27 18:03:41

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

话虽这么说,我知道在把ReadOnlyDictionaries引入。net方面已经做了很多工作,我有点困惑哪一个比另一个更有用,以及它们的具体区别是什么。我在网上查了一下,但似乎找不到任何解释这种差异的文章。

例如,我看到这个问题,并认为查找将是一个更理想的解决方案,但我很困惑为什么它不是。

谁能给我指出正确的方向/解释一下哪一个可以比另一个用。

谢谢! !

. net中ReadOnlyDictionary和Lookup的区别

查找是对集合进行分组的一种简单方法,对于给定的键,可以有一个多个值。Dictionary为给定键提供一个值,并且只有一个值。根据您的场景,使用Dictionary返回一个值可能是最有意义的,或者您可能希望使用Lookup来为您提供值的集合。

如果没有查找,如果你想要某个键的值的集合,你会被一些难看的东西卡住,比如

Dictionary<int, IEnumerable<String>>

的趣事。