3 回答

TA貢獻(xiàn)1942條經(jīng)驗(yàn) 獲得超3個贊
您可以使用SequenceEqual。這適用于任何IEnumerable<T>數(shù)組,而不僅僅是數(shù)組。

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個贊
在LINQ中使用SequenceEqual。
int[] arr1 = new int[] { 1,2,3};
int[] arr2 = new int[] { 3,2,1 };
Console.WriteLine(arr1.SequenceEqual(arr2)); // false
Console.WriteLine(arr1.Reverse().SequenceEqual(arr2)); // true

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超3個贊
同樣對于數(shù)組(和元組),您可以使用.NET 4.0中的新接口:IStructuralComparable和IStructuralEquatable。使用它們,您不僅可以檢查數(shù)組的相等性,還可以比較它們。
static class StructuralExtensions
{
public static bool StructuralEquals<T>(this T a, T b)
where T : IStructuralEquatable
{
return a.Equals(b, StructuralComparisons.StructuralEqualityComparer);
}
public static int StructuralCompare<T>(this T a, T b)
where T : IStructuralComparable
{
return a.CompareTo(b, StructuralComparisons.StructuralComparer);
}
}
{
var a = new[] { 1, 2, 3 };
var b = new[] { 1, 2, 3 };
Console.WriteLine(a.Equals(b)); // False
Console.WriteLine(a.StructuralEquals(b)); // True
}
{
var a = new[] { 1, 3, 3 };
var b = new[] { 1, 2, 3 };
Console.WriteLine(a.StructuralCompare(b)); // 1
}
- 3 回答
- 0 關(guān)注
- 1577 瀏覽
添加回答
舉報(bào)