如何检查c#中是否包含数组?

时间:2018-06-07 03:53:04

标签: c#

string[] arr1 = new string[] { "one", "two", "three" };
string[] arr2 = new string[] { "two", "three" };

我必须知道arr1是否包含arr2的所有字符串。

如何通过更快的编码来实现?如果有办法使用lambda?

谢谢。

3 个答案:

答案 0 :(得分:1)

var isSubset = arr2.Except(arr1).Any() == false

答案 1 :(得分:0)

您可以使用Linq

arr2.All(x => arr1.Contains(x));

答案 2 :(得分:0)

您可以使用linq解决问题:

  

这里我们检查子列表中是否存在任何元素(即arr2),父列表中没有该元素(即arr1)。如果不存在,则列表为另一个

例如:

bool isSubset = !(arr2.Any(x => !arr1.Contains(x)));