using System;
using System.Collections.Generic;
using System.Linq;
public class Program
{
public static void Main()
List<Block> blocks = new List<Block> ();
Block b1 = new Block ();
b1.id_material = 1;
b1.id_color = 1;
b1.weight = 1.5f;
Block b2 = new Block();
b2.id_material = 2;
b2.id_color = 1;
b2.weight = 3f;
Block b3 = new Block();
b3.id_material = 1;
b3.id_color = 1;
b3.weight = 4.5f;
blocks.Add (b1);
blocks.Add (b2);
blocks.Add (b3);
var new_blocks = blocks.GroupBy(x=>
new
x.id_material ,
x.id_color
}
)
.Select(x => new Block()
id_material = x.Key.id_material,
id_color = x.Key.id_color,
weight = x.Sum(y => y.weight)
}).ToList();
foreach(var item in new_blocks)
Console.WriteLine($"{item.id_material},{item.id_color},{item.weight}");
class Block
public int id_material { get; set; }
public int id_color { get; set; }
public float weight { get; set; }