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)"
}

このメソッドは、デフォルトの等値比較子を使用して値を比較することにより、2 つのシーケンスの積集合を生成します。Enumerable.Any()メソッドは、シーケンスに要素が含まれているかどうかを判断します。

于 2013-10-29T02:34:13.740 に答える