ILookup接口与IDictionary

use*_*034 74 .net c#

如何在ILookup<key, value>界面有所不同IDictionary<key, value>

我不明白ILookup界面的含义.

Bro*_*ass 108

ILookup条目可以包含每个键的多个项目 - 每个键都映射到一个 IEnumerable<TElement>.

同样在注释中暗示a ILookup是不可变的,而你可以更新一个值IDictionary(它公开了一个Add()方法和一个允许获取设置值的索引器).

总之,它们的用例非常不同 - 当您需要1:N映射时,使用查找,其中值固定且不会(也不会)更改.另一方面,字典提供了键值对的可变 1:1映射,因此可以更新它以添加或删除值.