可以说我有
class Class1 A {
int Id;
IEnumerable<Class2> B;
}
class Class2 B {
string Title;
}
Run Code Online (Sandbox Code Playgroud)
所以,如果我有(以json格式)
{Id: 0, B: [{"Title": "a"}, {"Title": "b"}, {"Title": "c"} ]}
Run Code Online (Sandbox Code Playgroud)
我想分组,Title结果就是这样
{ {"Id": 0, "Title": "a"}, {"Id": 0, "Title": "b"}, {"Id": 0, "Title": "c"} };
Run Code Online (Sandbox Code Playgroud)
首选LINQ解决方案.试图做:
var result = A.GroupBy(x => x.B)
Run Code Online (Sandbox Code Playgroud)
(我希望这不会起作用)和
var result = A.SelectMany(x => x.B).GroupBy(x => x)
Run Code Online (Sandbox Code Playgroud)
但后来我只有头衔.我怎么能这样做?
你没有分组,你正在做相反的事 - 扁平化 - 这是通过以下方式完成的SelectMany:
A.SelectMany(a => a.B, (a, b) => new {a.Id, b.Title});
Run Code Online (Sandbox Code Playgroud)