Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.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# 使用ASP.NET比较两个对象列表,并基于第一个列表中的非项属性(第二个列表中不存在)创建一个新列表_C#_Asp.net_List_Linq_Compare - Fatal编程技术网

C# 使用ASP.NET比较两个对象列表,并基于第一个列表中的非项属性(第二个列表中不存在)创建一个新列表

C# 使用ASP.NET比较两个对象列表,并基于第一个列表中的非项属性(第二个列表中不存在)创建一个新列表,c#,asp.net,list,linq,compare,C#,Asp.net,List,Linq,Compare,我正在尝试比较两个列表,并根据第二个列表上不存在的项目属性创建第一个列表的新列表。对不起,如果这是糟糕的措辞,我会尝试和演示下面 我有两份清单: public IList<OrderList> OrderList { get; set; } public IList<ApplicationUser> UserList { get; set; } 我还尝试直接使用以下工具创建类列表: NoOrders = await _db.ApplicationUser.Include

我正在尝试比较两个列表,并根据第二个列表上不存在的项目属性创建第一个列表的新列表。对不起,如果这是糟糕的措辞,我会尝试和演示下面

我有两份清单:

public IList<OrderList> OrderList { get; set; }
public IList<ApplicationUser> UserList { get; set; }
我还尝试直接使用以下工具创建类列表:

NoOrders = await _db.ApplicationUser.Include(u => u.OrderRequest).Where(i 
=> i.id != OrderRequest.ApplicationUserId.ToString()).ToListAsync();
不幸的是,这两种方法我都没有运气。有更好的方法吗

谢谢,
非常感谢

我认为您的第一次尝试已步入正轨:

试试这个:

NoOrders = UserList.Where(y => OrderList.All(z => z.ApplicationUserId != 
y.id.ToString())).ToList();


您正在检查是否有与用户ID不匹配的订单,但真正需要确保的是没有与用户ID不匹配的订单。

如果您能够提供。确保在中包含样本输入以及这些样本输入的预期结果。可能的重复
NoOrders = await _db.ApplicationUser.Include(u => u.OrderRequest).Where(i 
=> i.id != OrderRequest.ApplicationUserId.ToString()).ToListAsync();
NoOrders = UserList.Where(y => OrderList.All(z => z.ApplicationUserId != 
y.id.ToString())).ToList();
NoOrders = UserList.Where(y => !OrderList.Any(z => z.ApplicationUserId == 
y.id.ToString())).ToList();