是否有一种快速的方法可以从从List<TElement>扩展创建的ILookup<TKey, TElement>中获得一个扁平的IEnumerable<TElement>?用示例更新var lookup = list.ToLookup(key => key);
list = lookup.??// How to convert the look
我有一个这样的类:{ public int Value { get我知道在有了IEnumerable之后,我可以执行第二个linq查询来获得值条目,但这看起来很麻烦;似乎应该有一种方法可以在一条语句中直接实现这一点。编辑:注意,我知道Lookup(),但在本例中,我实际上是按Group进行批量处理的,所以我确实需要Dictionary (或者每个组都有一个值集合的东西)。
我使用LINQ-to-objects已经有一段时间了,但我现在才注意到Enumerable.ToLookup扩展方法,并阅读了它的文档。我是在寻找获得IEnumerable<T>只读接口的最快方法时遇到它的。在我看来,将.ToLookup( o => o )附加到可枚举对象会产生一个与ReadOnlyCollection<T>具有相同用途的System.Linq.Lookup对象。