假设我有以下数据
Key ID Data
A 1 Hello
A 2 World
B 2 Bar
B 1 Foo
Run Code Online (Sandbox Code Playgroud)
我期待产生结果
A HelloWorld
B FooBar
Run Code Online (Sandbox Code Playgroud)
我正在努力使语法正确 - 我试图使用Aggregate,但我不确定我是否可以(或应该)使用SelectMany
我会感激任何帮助.
Dim data = result.Rows.
GroupBy(Function(r) r.Key).
Select(Function(g) g.OrderBy(Function(s) s.ID)).
Aggregate(New StringBuilder, Function(cur, nxt)
cur.Append(nxt.First.Data))
Run Code Online (Sandbox Code Playgroud)
谢谢
西蒙
Str*_*ior 11
我认为这个(C#)应该有效:
var data = from r in result.Rows
group r by r.Item("Key").ToString() into g
select new {
g.Key,
Joined = string.Join("", g.OrderBy(s => s.Item("ID"))
.Select(s => s.Item("Data")))
};
Run Code Online (Sandbox Code Playgroud)