Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 比较两组列表_C#_Linq - Fatal编程技术网

C# 比较两组列表

C# 比较两组列表,c#,linq,C#,Linq,可能重复: 我有一流的汽车和一流的车型。Car有许多属性,如CarId和列表。模型具有各种属性,如ModelID、Color、Make。我有一个汽车列表(来自最终用户)称之为A,然后我有几个汽车列表(来自DB)称之为B。A有一个汽车列表,而B有多个汽车列表,我想比较这两个包括模型 我试过使用,但似乎不起作用 假设列表A有一辆车和两种型号 Car carId = 1 Models Model ModelId = 1 **color = black make = 1999**

可能重复:

我有一流的汽车和一流的车型。Car有许多属性,如CarId和
列表
。模型具有各种属性,如ModelID、Color、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 颜色=黑色 make=1999


谢谢你的帮助。谢谢

查看IEnumerable.Union,这可能有助于解决您的问题


它将组合2组,不包括重复项。

A。除非
A
中的项目与
B
中的项目是相同的对象,否则除(B)
外,其他项目将不起作用。您需要在类层次结构中实现
Equals
,或者创建一个并将其传递给调用

“在上面的示例中,粗体值应该”除非没有粗体值。请添加第三个列表,该列表精确显示您想要的输出。添加了粗体值**和预期输出。谢谢