【发布时间】:2019-02-12 09:01:17
【问题描述】:
我有一个对象列表列表,我尝试按对象列表之一进行分组。
我尝试了以下代码,但它没有对任何内容进行分组
我有一个 myObj 类型的列表,例如 [obj1[],obj2[],obj3[],obj4[]]
我试过了
myObj.GroupBy(
a => new { a.obj1},
a => new { a.obj2, a.obj3, a.obj4})
.Select(x => new myObj
{
obj1= x.Key.obj1,
obj2= x.SelectMany(l => l.obj2).Distinct().ToList(),
obj3= x.SelectMany(list => list.obj3).Distinct().ToList(),
obj4= x.SelectMany(list => list.obj4).Distinct().ToList(),
}
)
.ToList();
但它的输出与 myObj 相同
例如
myObj = [
{[a1],[a2,b2,c2],[e2],[f4,g4]},
{[a1],[d2,e2],[e3],[f4]},
{[a2,a1],[d2,e2],[e3],[f4]},
{[a2],[d2,e2],[e3],[f4,g4]},
{[a2],[a2,d2,e2],[e3,f3],[f4]},
]
我想要输出:
myGroupedObj = [
{[a1],[a2,b2,c2,d2,e2],[e2,e3],[f4,g4]},
{[a2,a1],[d2,e2],[e3],[f4]},
{[a2],[a2,d2,e2],[e3,f3],[f4,g4]},
]
【问题讨论】:
-
如果您能提供minimal reproducible example,那就太好了。请确保minimal reproducible example 具有在代码中 定义的示例输入,并且明确提及您尝试生成的确切结果。