8,497
社区成员
发帖
与我相关
我的任务
分享
var result = listTest.GroupBy(x => new { x.Ming, x.Xingbie, x.Xuehao }).SelectMany(x => x.GroupBy(a => a.Code)).Select(xx => new
{
zhi = xx.Sum(z => z.zhi),
xx.First().Ming,
xx.First().Xingbie,
xx.First().Xuehao,
xx.First().Code
}).ToList();
这种写法也行 list直接得到想要的结果
var a = listTest.GroupBy(x => x.Ming + x.Xingbie + x.Xuehao).ToList().SelectMany(x => x.GroupBy(y => y.Code)).Select(x =>
{
var temp = x.First();
temp.zhi = x.Sum(z => z.zhi);
return temp;
});
foreach (var temp in a)
{
Response.Write(temp.Ming + "/" + temp.Xingbie + "/" + temp.Xuehao + "/" + temp.Code + "/" + temp.zhi + "<br/>");
}
结果
A/N/BL1/AFR/60
A/N/BL1/WSR/70
A/N/BL2/AFR/13
O/Y/BL2/AFR/13
你改下不就出来了。。思路都一样。。就后面加了个select
你真很不熟linq