C# 从一个元素与另一个不同类型列表中的元素匹配的列表中排除项目

C# 从一个元素与另一个不同类型列表中的元素匹配的列表中排除项目,c#,C#,我有以下填充列表: List<Item> Items List<long> QueueID 我需要创建一个新的项目列表,排除其他列表中具有QueueID的项目 我正在尝试这个,但是编译器不喜欢它 var result = Items.Where(x => !QueueID.Exists(x => x.QueueID)); 您可以使用以下方法使用此方法: List resultList=Items.Where(x=>!QueueID.Contains(x.Q

我有以下填充列表:

List<Item> Items
List<long> QueueID
我需要创建一个新的项目列表,排除其他列表中具有QueueID的项目

我正在尝试这个,但是编译器不喜欢它

var result = Items.Where(x => !QueueID.Exists(x => x.QueueID));

您可以使用以下方法使用此方法:

List resultList=Items.Where(x=>!QueueID.Contains(x.QueueID)).ToList();
如果您想要开箱即用的唯一性和更快的查找,我建议使用哈希集来存储ID。
var result = Items.Where(x => !QueueID.Exists(x => x.QueueID));
List<Item> resultList = Items.Where(x => !QueueID.Contains(x.QueueID)).ToList();