检查数组是否包含大于同一索引处的另一个数组的所有值

时间:2017-08-22 09:26:26

标签: c# arrays

对于任何两个给定的数组,是否有任何简单的方法来检查一个数组的所有元素是否大于同一索引处的另一个数组的元素

例如:

Arr1 = [1,2,3] and Arr2 = [2,3,4] returns true

while

Arr1 = [1,2,3] and Arr2 = [2,1,4] returns false

3 个答案:

答案 0 :(得分:5)

您可以通过索引使用LINQ:Zip链接,All评估谓词并在第一个不匹配时返回false

bool allGreater = Arr1.Zip(Arr2, (i1, i2) => i2 > i1).All(secondGreater => secondGreater);

答案 1 :(得分:0)

Enumerable.Range(0, Arr2.Length).All(i => Arr1[i] < Arr2[i])

或者,如果数组的长度可以不同:

Enumerable.Range(0, Math.Min(Arr1.Length, Arr2.Length))
    .All(i => Arr1[i] < Arr2[i])

答案 2 :(得分:0)

你可以使用for循环

vec = std::vector<int>()