這裏是例子:.NET如何確定LINQ中的對象「select new」?
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);
所以,作爲分組順利完成,我做結論,那不是爲兩個不同的實體創建parent
如果兩者具有相同的ParentId
和ParentName
。換句話說,如果list[i].ParentId == list[j].ParentId
和list[i].ParentName == list[j].ParentName
,然後選擇selected[i].parent == selected[j].parent
後。
對嗎?我想,new
通過源集合在每次迭代中創建一個新對象。 .NET如何做到這一點?
你的意思是,'parent'在這種情況下是值類型? –
我編輯了答案來澄清。 –