var test = new List <MesStock> { nova MesStock {Cuid = " 1 " , CEDD = " 1 " , a PNO = " 1 " , Sno = " 1 " , TotalNums = 1 }, nova MesStock {Cuid = " 2 " , CEDD = " 1 " , a PNO = " 1 " , Sno = " 1 " , TotalNums = 1 }, nova MesStock {Cuid = "3 ", CEDD = " 2 " , Pno = " 2 " , Sno = " 2 " , TotalNums = 2 }, novo MesStock {Cuid = " 4 " , CEDD = " 2 " , Pno = " 2 " , Sno = " 2 " , TotalNums = 2 }, novo MesStock {Cuid = " 5 " , CEDD = " 3 " , Pno = " 3 " ,Sno = " 3 ", TotalNums = 3 }, }; Lista <MesStock> res = new List <MesStock> (); test.GroupBy (x => + x.Deid x.Pno + x.Sno, (x, y) => { var Total = y.Sum (a => a.TotalNums); retorno y.Select (t => { t.TotalNums = total; res.Add (t); retorno t; }) ToList ();. }) ToList ().; foreach ( var produto em res) { Console.WriteLine (item.Cuid + " | " + item.TotalNums); }