2013-12-19 58 views
3

我想在c#中比較兩個數組。如果匹配,則轉到條件else轉到else條件。我們如何在c#中做到這一點。如何在c#中比較兩個數組並找出數組的完全匹配

int[] numbers = new int[] { 1, 2, 3, 4, 5 }; 
int[] numbers2 = new int[] { 1, 2, 3, 4, 5 }; 

我想這兩個數組比較喜歡

if(numbers == numbers2){ 
    do something 
}else{ 
    do something 
} 

回答

11

可以使用Enumerable.SequenceEqual()擴展方法。它不正是你想要什麼:

if (numbers.SequenceEqual(numbers2)) { 
    // do something 
} else { 
    // do something else 
} 
0

您可以創建陣列擴展功能,這需要輸入另一個數組對象,然後使用HashSet你可以比較兩個數組。 Like -

if (numbers.ArrayEqual(number2){ 
// do this 
} 
else{ 
// do that 
} 

function static bool ArrayEqual(this int[] a, int []b) 
{ 

    return a.Length == b.Length 
         && new HashSet<string>(a).SetEquals(b); 
} 
相關問題