可能重复: 比较其中包含列表的两个列表
我有一辆一流的汽车和一辆汽车模型。汽车有许多特性,如CarId和List<Models>。模型具有多种属性,如ModelID、颜色、Make等。我有一个汽车列表(来自最终用户)称为A,然后我有很少的汽车列表(来自DB)称之为B。A有一个列表的汽车,因为B有多个列表的汽车,我想比较这两种车型也包括。
我试过使用例外,但这似乎不起作用。
假设名单A有一辆车和两辆模型
Car
carId = 1
Models
Model
ModelId = 1
**color = black
make = 1999**
Model
ModelId = 3
color = white
make = 2004清单B有两个项目
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年
感谢帮助。谢谢!
发布于 2011-11-28 20:34:45
A.Except(B)将无法工作,除非来自A的项与B中的项是相同的对象。要么需要在类层次结构中实现Equals,要么创建一个IEqualityComparer并将其传递给Except调用。
发布于 2011-11-28 20:28:44
https://stackoverflow.com/questions/8301836
复制相似问题