6

我有一个清单:

var list = new List<string>();
list.Add("Dog");
list.Add("Cat");
list.Add("Bird");

var list2 = new List<string>();
list2.Add("Dog");
list2.Add("Cat"):

if (list.ContainsAny(list2))
{
      Console.Write("At least one of the items in List2 exists in list1)"
}
4

2 回答 2

19

您正在查看列表的“交集”是否为非空:

if(list.Intersect(list2).Any())
    DoStuff();
于 2013-10-29T02:21:31.907 回答
1

您只需要Enumerable.Intersect如下:

if (list.Intersect(list2).Any())
{
  Console.Write("At least one of the items in List2 exists in list1)"
}

此方法通过使用默认相等比较器比较值来生成两个序列的集合交集。它返回一个序列,其中包含构成两个序列的集合交集的元素。Enumerable.Any()方法确定序列是否包含任何元素。

于 2013-10-29T02:34:13.740 回答