从不同集合中删除另一个列表的对象列表

本文关键字:列表 另一个 对象 删除 集合 | 更新日期: 2023-09-27 18:12:10

我试着更努力地学习这些结构,但我绝对不认为它们是演绎的。当我得到两个相同类型的列表(List)时,我已经编写了类似于上面的代码,例如:

listA.RemoveAll(x => !listB.Any(y => y.ID == x.ID));

现在,假设我有相同的列表,但它们来自不同的集合(列表的每个成员具有不同的属性),我想删除列表A中所有与列表b中元素ID不相同的成员。

两个集合都有一个int ID属性来比较

从不同集合中删除另一个列表的对象列表

您可以选择以下有效的项目,而不是从列表中删除:

listA = listA.Where(x=>listB.Any(y=>y.ID == x.ID)).ToList();