【发布时间】:2011-07-31 09:23:42
【问题描述】:
示例如下:
class A
{
public long ParentId;
public string ParentName;
public string Name;
}
// list is IEnumerable<A>
var selected = list
.Select(x => new {
parent = new {
id = x.ParentId,
name = x.ParentName
}
name = x.Name
});
var grouped = selected.GroupBy(x => x.parent);
因此,随着分组成功完成,我得出结论,如果两个不同的实体具有相同的 ParentId 和 ParentName,则不会为它们创建 parent。换句话说,如果list[i].ParentId == list[j].ParentId和list[i].ParentName == list[j].ParentName,那么在选择selected[i].parent == selected[j].parent之后。
我对吗?我想,new 在每次通过源集合迭代时都会创建新对象。 .NET 如何做到这一点?
【问题讨论】: