1
我遇到了LINQ表達式的問題。如何製作一個Linq表達式
有了這個類:
class MyClass
{
public string of { get; set; }
public string order { get; set; }
public int qty { get; set; }
public override string ToString()
{
return string.Format("OF: {0}, Order: {1}, Qty: {2}", of, order, qty);
}
}
,我想通過和總結的所有數量由ORDER 有了這些數據:
var list = new List<MyClass>();
list.Add(new MyClass { of = "of1", order = "order1", qty = 1 });
list.Add(new MyClass { of = "of1", order = "order1", qty = 9 });
list.Add(new MyClass { of = "of2", order = "order1", qty = 30 });
list.Add(new MyClass { of = "of1", order = "order2", qty = 100 });
它應該返回
OF: of1, Order: order1, Qty: 10
OF: of2, Order: order1, Qty: 30
OF: of3, Order: order2, Qty: 100
我有這個解決方案,但我不喜歡它
var sum = from p in list
group p by p.of+","+p.order
into g
select new MyClass
{
of = g.Key.Split(',')[0],
order = g.Key.Split(',')[1],
qty = g.Sum(p=>p.qty)
};
就是這麼簡單:O型。謝謝你漂流 – muek 2010-10-25 18:54:34