C# 如何比较两个元素中的值是否完全相同

第一个数组 string 【】str1
第二个数组 string 【】str2
如何判断两个数组中的值是否完全相等
如str1中存{1,2,3},str2中存{1,2,3} 则是相等的

var equal = true;
var len1 = str1.Length;
var len2 = str2.Length;
if(len1 == len2)
{
for(var i=0;i<len1;i++)
{
if(str1[i] != str2[i])
{
equal = false;
break;
}
}
else
{
equal = false;
}
return equal;
}

几种比较方式
http://www.2cto.com/kf/201305/210764.html

bool foo(string[] a1, string[] a2)
{
if (a1.Count() != a2.Count()) return false;
return a1.OrderBy(x => x).Zip(a2.OrderBy(x => x), (a, b) => a == b).All();
}

if( str1.Length==str2.Length && !str1.Except(str2).Any()&&!str2.Except(str1).Any())
{
//完全相等
}