使用Linq比较或匹配两个通用列表集

本文关键字:两个 列表 比较 Linq 使用 | 更新日期: 2023-09-27 18:00:40

参考列表比较的许多链接比较两个列表C#linq仍然我真的没有清楚地得到列表之间的匹配。

Let's say I have two lists of strings:
 List1: "apple, orange, mango, bananna, butter fruit"
 List2: "butter fruit, grapes, apple, bananna, orange, mango, jack fruit, pineapple"

在这里,我需要检查List1项是否在List2集中。如果存在,则返回true,否则返回false。

我尝试了Except,但在两组之间没有得到预期的结果true或false。

if(List1.Except(List2).Count == 0)
{
  ....
}

使用Linq比较或匹配两个通用列表集

除外

if(list1.Except(list2).Any())
{
   //....
}

With All(Bobson的评论:请注意,如果list1为空,.All()将成功,但其他两个不会成功):

list1.All(str => list2.Contains(str));

带任意:

list1.Any(str => !list2.Contains(str));

您可以使用All方法:

return list1.All(list2.Contains);