首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用LINQ将IEnumerable映射到ILookup的简洁方法

使用LINQ将IEnumerable映射到ILookup的简洁方法
EN

Stack Overflow用户
提问于 2016-09-03 02:05:07
回答 1查看 170关注 0票数 0

我曾经遇到过几次这样的情况:我有一个IEnumerable<T>和一个将T实例映射到IEnumerable<U>的函数map。我想生成一个由该映射定义的ILookup<T, U>

这似乎是一个非常常见的用例,但我还没有找到一种简洁的方法来生成查找。具体地说,enumT.ToLookup( t=>t, t=>map(t))生成一个ILookup<T, IEnumerable<U>>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-03 02:14:42

在调用ToLookup之前,只需使用SelectMany将序列展平即可。

代码语言:javascript
复制
var lookup = sequence.SelectMany(key => Foo(key), (key, value) => new { key, value, })
    .ToLookup(pair => pair.key, pair => pair.value);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39298400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档