使用LINQ的两个具有不同类型的List的差异

Tal*_*ode 5 linq

我正在尝试使用LINQ查询获取两个列表的不同.但列表的类型不同.

List<Vehicle> unsoldVehicles
List<string> ListDetailUrls
Run Code Online (Sandbox Code Playgroud)

每个Vehicle Object都有一个名为UrlID(字符串)的字段,而ListDetailUrls列表只包含字符串.我需要车辆列表中的每个车辆,其中字段UrlID与条目ListDetailUrls不匹配.

到目前为止我所做的是:

List<Vehicle> missingVehicles = new List<Vehicle>(
    from uV in unsoldVehicles
    from de in ListDetailUrls
    where uV.UrlID != de
    select uV);
Run Code Online (Sandbox Code Playgroud)

但是通过这样的查询,我的missingVehiclesunsoldVehicles更多的物品!

我正在寻找一种方法以某种方式使用Except方法,但我只找到两个列表属于同一类型的样本.

kjn*_*kjn 8

你可以尝试这样的事情.

var missingvehicles = from uV in unsoldVehicles
                    where !listDetailUrls.Contains(uV.UrlID )
                    select uV;
Run Code Online (Sandbox Code Playgroud)