我有對象的陣列中的每個對象具有3個客戶端,每個客戶端具有客戶代碼和客戶機名稱。我想用C#Linq按客戶端代碼分組不同的對象。具有相同名稱的LINQ GROUPBY多個列(匿名類型不能具有相同名稱的多個屬性)
對象[0]:客戶端 「pickupFrom」 有 「clientCode」 客戶端 「loadAt」 具有 「clientCode」 客戶端 「deliverTo」 有 「clientCode」
對象[1]:客戶端 「pickupFrom」 具有「clientCode」客戶端「loadAt」具有 「clientCode」客戶端「deliverTo」有「clientCode」
欲組由這些客戶端和獲得具有一個物體上,因爲這些客戶端是相同的陣列。
使用LINQ我可以這樣做:
Objects[] GroupedDistinct =
ungroupedObjects.GroupBy(line => new { line.pickupFrom.clientCode,
line.LoadAt.clientCode,
line.deliverTo.clientCode })
.Select(x => x.First())
.ToArray();
這裏的問題是,通過這些參數時,GROUPBY,我無法通過clientCode超過一次,因爲它是定義一個名爲clientCode多串即使它不是來自同一個客戶端對象。
錯誤是「一個匿名類型不能有多個同名的屬性」 我知道你不能多次傳遞相同的字符串名稱,但這些對象(客戶端)是如何用clientCode完成的。 有沒有辦法解決這個問題?
你確定'object.pickupFrom.clientCode'嗎?也許你的意思是'line.pickupFrom.clientCode'? –