我想知道是否有一种方法可以用LINQ来合并订单对象列表?我的情况如下,为了这个问题的简便,我已经压缩了它。
public class Order
{
public string Guid { get; set; }
public string Parent { get; set; }
public string ProductID { get; set; }
public string Description { get; set; }
public double Quantity { get; set; }
public double Total { get; set; }
}
根据上面的内容,这将变成以下列表:
GUID PARENT ID Desc Qty Total
====================================================================
aaa 120 Burger 1 2.50
bbb aaa 121 + Bacon 1 0.50
ccc 123 Fries 1 1.50
ddd 120 Burger 1 2.50
eee ddd 124 + Cheese 1 0.30
fff 123 Fries 1 1.50
我希望在这个例子中实现以下目标:最终得到如下结果。
GUID PARENT ID Desc Qty Total
====================================================================
aaa 120 Burger 1 2.50
bbb aaa 121 + Bacon 1 0.50
ccc 123 Fries 2 3.00
ddd 120 Burger 1 2.50
eee ddd 124 + Cheese 1 0.30
我不打算合并具有子产品的项目,而是对其他所有内容进行汇总总数和数量。
我目前的想法是创建一个仅包含没有子项的产品的单独列表,并将其与具有子项的产品进行合并。
我可以这样做,但我想知道是否有更清晰的方法,任何意见都将非常感谢。
Dictionary<GUID, count>
作为您的顺序保留。更好的方法是 - 封装字典并提供良好的命名方法 - AddItem,GetItemCount,... - Conduit