LINQ ToDictionary 和 ToLookup 有什么区别?他们似乎在做同样的事情。
最佳答案
字典是一个 1:1 的映射(每个键都映射到一个值),而字典在事后是可变的(可编辑)。
查找是一个 1:many 映射(多映射;每个键映射到具有该键的值的 IEnumerable<>
),并且在 ILookup<,>
接口(interface)上没有变异。
作为旁注,您可以对不存在的键进行查询(通过索引器),您将得到一个空序列。用字典做同样的事情,你会得到一个异常(exception)。
那么:每个键有多少条记录共享?
一种过于简化的看待方式是 Lookup<TKey,TValue>
大致相当于 Dictionary<TKey,IEnumerable<TValue>>
关于c# - LINQ ToDictionary 和 ToLookup 有什么区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5659066/