【发布时间】:2012-01-21 04:53:55
【问题描述】:
我对@987654321@ 和Select() 方法有疑问。
假设我有一个 IEnumerable<IGrouping<int, smth>> 以这种方式:
var groups = list.GroupBy(x => x.ID);
其中list 是List<smth>。
现在我需要以某种方式将每个 IGrouping 的值传递给另一个列表:
foreach (var v in structure)
{
v.ListOfSmth = groups.Select(...); // <- ???
}
谁能建议如何在这种情况下从IGrouping<int, smth> 获取值 (List<smth>)?
【问题讨论】:
-
ID 通常是一个身份字段,应该是唯一的,如果您只是尝试删除重复数据,请尝试使用 Distinct() 代替。如果它是 list.GroupBy(x => x.SubID) 那么使用分组是有意义的,但在这种情况下,您很可能希望保留分组和 foreach(var grp in groups){grp.ToList() ; } 会这样做