如何使用Linq查找一个列表中不在另一个列表中的元素?

4

我有2个ListString变量:

List<string> stringList1
List<string> stringList2 

其中stringList2stringList1的子集。

现在我想要stringList1中不在stringList2中的所有元素。

如何使用Linq实现这一点?


3
如果你经常对许多项目进行这样的操作,请考虑使用集合——它可以立即提高时间复杂度,是一个快速的算法优化方法。 - user395760
2个回答

14
你想在 IEnumerable<T> 上使用 Except 扩展方法。
var results = stringList1.Except(stringList2);

2

使用这个LINQ表达式:

from string x in stringList1 where !stringList2.Contains(x) select x;

我相信有一个内置方法,但那是LINQ。(我现在没有VC#...)


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