62,025
社区成员
发帖
与我相关
我的任务
分享
List<PRDT> list = new List<PRDT> { new PRDT("k1", 1, 5), new PRDT("k2", 2, 10),
new PRDT("k1", 1, 8), new PRDT("k2", 4, 9), new PRDT("k3", 5, 6) };
var query = from data in list
group data by new { prdno = data.Prdno, ck = data.Ck } into g
where g.Key.prdno == "k1"
select new { g.Key.prdno, ckSum = g.Sum(x => x.Ck), numSum = g.Sum(y => y.Num) };
class Program
{
static void Main(string[] args)
{
List<PRDT> list = new List<PRDT>() {
new PRDT(){ ck="k1", prdno="c1",num=5 },
new PRDT(){ ck="k2", prdno="c2",num=10 },
new PRDT(){ ck="k1", prdno="c1",num=8 },
new PRDT(){ ck="k2", prdno="c3",num=5 }
};
var rlist = list.GroupBy(x => new { x.ck, x.prdno }).Where(g => g.Count() > 1).Select(x => new PRDT() {prdno=x.Key.prdno, ck=x.Key.ck, num=x.Sum(c=>c.num) }).ToList();
}
}
public class PRDT
{
public string prdno { get; set; }
public string ck { get; set; }
public int num { get; set; }
}
var rlist = list.GroupBy(x => new { x.ck, x.prdno }).Where(g => g.Count() > 1).Select(x => new PRDT() {prdno=x.Key.prdno, ck=x.Key.ck, num=x.Sum(c=>c.num) }).ToList();
List<PRDT> re =lst.GroupBy(r=>r.prdno)
.Where(g=>g.Count()>1)
.Select(g=>new PRDT{prdno=g.Key,num=g.Sum(x=>x.num)}).ToList();