从另一个列表中删除列表的内容

3
如何从一个列表中删除另一个列表的内容?
3个回答

9
list1.RemoveAll(i => list2.Contains(i));

+1 虽然在这种情况下,名称“myList”和“myOtherList”有些误导,因为它们与请求的“从另一个列表中删除...”恰好相反。 - David Hedlund
这会删除相同对象还是相等的对象(o1.Equals(o2))? - SeaDrive

4
List<object> result = anotherlist.Except(list).ToList();

0

这里是对James帖子的简短补充和建议。

如果你正在使用List<T>,而且myOtherList包含大量项,那么你应该将其转换为Hashset<T>var set = new Hashset(myOtherList),这样他的解决方案就会运行得更快。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接