我有一个项目列表,每个项目都有一个总值..有些在不同的层..如下图
**Name, Layer, Value**
Item 1, Layer1, 100
Item 1, Layer1, 200
Item 1, Layer2, 700
现在我想将这些组合成一个新列表,并将它们合并在一起..如下图
**Name, List(Layer1Value, Layer2Value)**
Item 1, (300,700)
这是我到目前为止的代码..
List<double> =
Enumerable.Range(0, t.Select(u => u.LayerName).Distinct().Count())
.Select(idx => t.Select(a => a.sum).Sum()).ToList()
这当然是错误的,并且将总数放在所有价值点中......像这样
Item 1, (1000,1000)
不确定如何让它正常工作,任何帮助都会很棒..谢谢
添加了帮助..从这样的列表开始
private class Items
{
public string Name;
public string Layer;
public double Value;
}
List<Items> MyItems = new List<Items>();
到这样的列表
private class CombinedItems
{
public string Name;
public List<double> LayerValues;
}
List<CombinedItems> MyCombinedItems = new List<CombinedItems>();
它应该按特定顺序输出.. 例如,如果有 4 层.. 层 1、层 2、层 3、层 4 ..
并且 item1 在 Layer1 和 Layer 4 中有值.. 然后
列表需要为 (Layer1Value, 0, 0, Layer4Value)