如何从IGrouping获取值 [英] How to get values from IGrouping

查看:6631
本文介绍了如何从IGrouping获取值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个关于IGrouping和Select()方法。问题

I have a question about IGrouping and Select() method.

可以说,我已经有了的IEnumerable< IGrouping< INT,未便>> 是这样的:

Lets say I've got IEnumerable<IGrouping<int, smth>> in this way:

var groups = list.GroupBy(x => x.ID)

其中列表是列表与LT;水木清华方式&gt;

和现在我需要每个 IGrouping 的值传递给在某种程度上另一个列表:

And now I need to pass values of each IGrouping to another list in some way.:

foreach (var v in structure)
{
    v.ListOfSmth = groups.Select(...); // <- ???
}


任何人可以建议如何获取值(列表&LT;水木清华&GT; )从 IGrouping&LT; INT,未便&GT; 中这样的背景下?

推荐答案

由于 IGrouping&LT; TKEY的,TElement&GT; 工具的IEnumerable&LT; TElement&GT; ,您可以用的SelectMany 来把所有的 IEnumerables 返回到一个的IEnumerable 一起:

Since IGrouping<TKey, TElement> implements IEnumerable<TElement>, you can use SelectMany to put all the IEnumerables back into one IEnumerable all together:

List<smth> list = new List<smth>();
IEnumerable<IGrouping<int, smth>> groups = list.GroupBy(x => x.id);
IEnumerable<smth> smths = groups.SelectMany(group => group);
List<smth> newList = smths.ToList();

这篇关于如何从IGrouping获取值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆