对不起有点模糊的标题!我对这个分组的事情很陌生,所以请不要因为学习而杀了我; - )
我有这两个班级:
public class chartItem
{
public int prodID { get; set; }
public int Quantity { get; set; }
public List<SubItem> SubItems { get; set; }
...
}
public class SubItem
{
public int SubID { get; set; }
...
}
我很难解释我想要实现的目标,所以我附上了一张图片说明了这一切:
正如您所见,我试图使用LINQ将此输入转换为此输出。
我有一些接近想要结果的代码,但我无法找到正确的方法(甚至可能)?:
list<chartItem> chartItems = new List<chartItem>();
... input data ...
chartItems = chartItems.GroupBy(x => new
{
prodID = x.prodID, qntity = x.SubItems.Count }, (key, val) =>
new chartItem
{
prodID = key.prodID,
Quantity = val.Count(),
SubItems = val.First().SubItems
}).ToList();