[英]Compare each and every items of two arrays C#
我有兩個數組:
int[] oddArr = { 11, 9, ... };
int[] evenArr = {4, 2, 8, ... };
我想檢查是否來自奇數Arr的每個項目大於來自偶數Arr的每個項目,然后我們應該做一些邏輯。
像: if(11 > 4 && 11 > 2 && 11 > 8 && 9 > 4 && 9 > 2 && 9 > 8 && ...)
我嘗試過這樣的事情:
for (int i = 0; i < oddArr.Length; i++)
{
for (int j = 0; j < evenArr.Length; j++)
{
if (oddArr[i] > evenArr[j])
{
}
}
}
我想這個問題不同的-所有的事情都oddArr
比一切更大evenArr
,然后最小 oddArr
必須比最大的更大evenArr
:
if (oddArr.Min() > evenArr.Max())
(您需要為System.Linq
using
指令以引入Min
和max
擴展方法。)
如果您不想使用Linq
庫,則可以這樣做
int minOdd = oddArr[0];
for (int i = 1; i < oddArr.Length; i++)
{
if(minOdd>oddArr[i])
minOdd = oddArr[i];
}
int maxEven = evenArr[0]
for (int j = 0; j < evenArr.Length; j++)
{
if (maxEven > evenArr[j])
maxEven = evenArr[j];
}
if(minOdd>maxEven)
{
//do someting
}
如果邏輯的每一個元素oddArr
比的每一個元件更大evenArr
然后的最小數目oddArr
會比的最大數目evenArr
。
雖然Jon Skeet的答案是更好的解決方案,但是您仍然可以使用LINQ將oddArr
中的每個項目與evenArr
每個項目進行比較。 這是如何做:
var result = oddArr.All(oddItem => evenArr.All(evenItem => evenItem < oddItem));
if(result){
// every item from oddArr > every item from evenArr
// Do something
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.