我有一個對象列表(稱爲他們類型salesItems)可以說這些項目有50個屬性,與名稱,價格,數量是其中3個)。我想知道如何合併列表一起使用下面的邏輯通過名稱合併任何salesItems:使用LINQ合併項目在一個集合
如果存在具有相同名稱的多個SalesOrders表:
- 它們合併成一個SalesOrder具有相同名
- 設置量的數量
- 設置價格的總和,並且全部採用的第一
I W值的其他屬性應該喜歡用linq。我意識到我可以使用一個大的每個C#循環來代替。
如果列表中還有其他項目,我想遵循類似的邏輯。
EX: A salesOrder list with (A,B,C,D,E)
A: Name=ball Price= 2.24 Quantity=1 (other values = bla bla)
B: Name= ball Price = 15.33 Quantity=3 (other values)
c: Name= bat Price = 22.14 Quantity=3 (other values)
D: Name= bat Price= 19.22 Quantity=2 (other values)
E: Name = ball Price=4.32 Quantity=2 (other values)
結果列表我要在名單2個銷售訂單(A,C)A:名稱=球價格= 2.24數量= 6(其它值=從屬性BLA BLA)C:名稱=蝙蝠價格= 22.14數量= 5(其它值由C的 屬性)
你爲什麼不顯示你的'SalesItem'類和樣本列表?這會讓你更容易理解。僞「代碼」作爲「列表(A,C)」只是令人困惑。 –
看看Linq的Intersect <>方法... GroupBy也可以在這裏用Distinct()組合來幫助你...雖然你想做的事情的簡短回答是你不會擺脫循環...... LINQ是隻是:幕後循環...但你可以分組你的項目,並使用LINQ儘管對更小的數據集進行更改...... – MaxOvrdrv
你有沒有試圖自己解決這個問題?分享你的代碼! –