簡體   English   中英

比較兩個數組C#的每個項目

[英]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指令以引入Minmax擴展方法。)

如果您不想使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM