2011-11-28 215 views
0

可能重複的:
Comparing two lists which has lists within them比較兩個組列表

我有一個類汽車和類模型。汽車有很多屬性,如CarId和List<Models>。模型具有各種屬性,如ModelID,Color,Make。我有一個汽車列表(來自最終用戶)稱爲A,然後我有幾個汽車列表(來自DB)稱爲B。 A有一個Car列表,​​因爲B有多個Car列表,​​我想比較這兩個包括Models。

我試過使用Except但似乎沒有工作。

假設列表A具有汽車和兩個模型

Car 
carId = 1 
Models 
    Model 
    ModelId = 1 
    **color = black 
    make = 1999** 

    Model 
    ModelId = 3 
    color = white 
    make = 2004 

列表B已經2項

Car 
carId = 5 
Models 
    Model 
    ModelId = 2 
    color = blue 
    make = 2000 

    Model 
    ModelId = 3 
    color = white 
    make = 2010 

Car 
carId = 7 
Models 
    Model 
    ModelId = 5 
    **color = black 
    make = 1999** 

    Model 
    ModelId = 9 
    color = grey 
    make = 2011 

在上面的例子中粗體(標記爲**)的值應該由比較器來產生其我將存儲到新列表中。

新的列表將

汽車 carId = 7個 模型 型號 ModelId = 5 顏色=黑色 化妝= 1999

欣賞的幫助。謝謝!

+2

「在上面的例子中粗體顯示的值應該」除了沒有加粗值。 –

+1

請添加第三個列表,顯示您想要的輸出內容。 – dthorpe

+0

增加了作爲**值和預期輸出的Bolded。謝謝! – user570715

回答

1

A.Except(B)將不起作用,除非A的項目與B中的項目是相同的對象。要麼你需要實現Equals在你的類層次結構,或創建一個IEqualityComparer並傳遞到Except呼叫

+0

你能舉個例子嗎? – user570715