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