我有两个阵列
string[] a = { "a", "b", "c" };
string[] b = { "a", "b", "c" };
Run Code Online (Sandbox Code Playgroud)
我需要使用LINQ比较两个数组.
仅当两个阵列具有相同大小时才应进行比较.数据可以按任何顺序排列,如果[]的所有值和b []的所有值相同,则仍然返回true.
Kyl*_*ndo 29
string[] a = { "a", "b" };
string[] b = { "a", "b" };
return (a.Length == b.Length && a.Intersect(b).Count() == a.Length);
Run Code Online (Sandbox Code Playgroud)
经过一些性能测试:
Jer*_*rts 26
不确定性能,但这似乎有效.
string[] a = { "a", "b", "c" };
string[] b = { "a", "b", "c" };
bool result = a.SequenceEqual(b);
Assert.AreEqual(true, result);
Run Code Online (Sandbox Code Playgroud)
但是,它不是与订单无关的,因此它不符合OP的要求.
string[] a = { "a", "b", "c" };
string[] b = { "a", "c", "b" };
bool result = a.SequenceEqual(b);
Assert.AreEqual(false, result);
Run Code Online (Sandbox Code Playgroud)