如何从IGrouping获取值

IGroupingSelect()方法有疑问。

假设我有IEnumerable<IGrouping<int, smth>>这样一种方式:

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

哪里listList<smth>

现在,我需要以IGrouping某种方式将每个值传递给另一个列表:

foreach (var v in structure)

{

v.ListOfSmth = groups.Select(...); // <- ???

}


在这种情况下,有人可以建议如何从中获取值(List<smth>IGrouping<int, smth>吗?

回答:

由于IGrouping<TKey,

TElement>工具IEnumerable<TElement>,你可以用SelectMany把所有的IEnumerables回一个IEnumerable一起:

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获取值 的全部内容, 来源链接: utcz.com/qa/435395.html

回到顶部