首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将IEnumerable<IEnumerable<IGrouping<int、string>>>转换为IEnumerable<IEnumerable<string>>

如何将IEnumerable<IEnumerable<IGrouping<int、string>>>转换为IEnumerable<IEnumerable<string>>
EN

Stack Overflow用户
提问于 2015-08-16 11:14:16
回答 2查看 462关注 0票数 0

我正在尝试将一些逗号分隔的行划分为最大大小为2的组。如何将组集合转换为列表列表,如下所示?我希望分区首先是3个,然后分组后是4个。

代码语言:javascript
复制
  List<string> chunk = new List<string>()
            {
                "a,b,c",
                "a,d,e",
                "b,c,d",
                "b,e,d",
                "b,f,g",
                "e"
            };

            var partitons = chunk.GroupBy(c => c.Split(',')[0], (key, g) => g);
            var groups = partitons.Select(x => x.Select((i, index) => new { i, index }).GroupBy(g => g.index / 2, e => e.i));
            IEnumerable<IEnumerable<string>> parts = groups.Select(???)
EN

回答 2

Stack Overflow用户

发布于 2015-08-16 11:26:43

这就是我想要的

代码语言:javascript
复制
var parts = groups.SelectMany(x => x).Select(y => y.Select(z => z));
票数 1
EN

Stack Overflow用户

发布于 2015-08-16 11:19:33

试试这个:

代码语言:javascript
复制
partitons = groups.Select(x => x.SelectMany(y => y));

我明白了:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32031461

复制
相关文章

相似问题

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