Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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,我在努力学习这些结构,但我不认为它们是演绎的。当我得到两个相同类型的列表(列表)时,我已经编写了类似于上面的代码,例如: listA.RemoveAll(x => !listB.Any(y => y.ID == x.ID)); 现在,假设我有相同的列表,但它们来自不同的集合(列表中的每个成员都有不同的属性),我想从列表A中删除列表B中元素中ID不相同的所有成员 两个集合都有一个要比较的int-ID属性。您可以选择以下有效项,而不是从列表中删除: listA = listA.Wher

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

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();

你还没有回答你的问题吗?为什么你的代码示例不适用于这种情况?@Hasan Khan,不,当listA和listB是不同的对象类型时,上面的代码不适用。