我想在c#中比较两个数组。如果匹配则转到if条件否则转到else条件。我们怎样才能在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
}
答案 0 :(得分:11)
您可以使用Enumerable.SequenceEqual()扩展名方法。它完全符合您的要求:
if (numbers.SequenceEqual(numbers2)) {
// do something
} else {
// do something else
}
答案 1 :(得分:0)
您可以为数组创建扩展函数,它接受输入另一个数组对象,然后使用HashSet您可以比较两个数组。喜欢 -
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);
}