110,545
社区成员
发帖
与我相关
我的任务
分享
DataTable dtable = new DataTable();
dtable.Columns.Add("name",typeof(string));
dtable.Columns.Add("oid", typeof(int));
dtable.Columns.Add("money", typeof(int));
dtable.Rows.Add(new object[] { "A", 1, 10 });
dtable.Rows.Add(new object[] { "B", 1, 10 });
dtable.Rows.Add(new object[] { "C", 1, 10 });
dtable.Rows.Add(new object[] { "D", 1, 10 });
dtable.Rows.Add(new object[] { "A", 2, 20 });
dtable.Rows.Add(new object[] { "C", 3, 10 });
var dtquery = from dt in dtable.AsEnumerable()
group dt by dt.Field<int>("oid") into g
select new
{
name = String.Join(",", g.Select(x => x.Field<string>("name")).ToArray()),
oid = g.Key,
money = g.Sum(x => x.Field<int>("money"))
};
foreach (var dd in dtquery)
{
Console.WriteLine(dd.name + "\t" + dd.oid + "\t" + dd.money);
}