初识IStructuralEquatable接口

System.Collections.IStructuralEquatable 是 .NET Framework 4.5 新引入的一个接口,位于System.Runtime.dll程序集中。

MSDN上对这个接口的定义是:Defines methods to support the comparison of objects for structural equality.

它用于比较2个对象在结构上是否相等(structural equality)。

比如下面的2个数组就是结构相等的,数组中都保存着同样的数据:

int[] array1 = { , ,  };
int[] array2 = { , , };

那用IStructuralEquatable如何比较2个对象是否结构相等呢?

一码胜千言!看下面的代码:

int[] array1 = { , ,  };
int[] array2 = { , , };
Console.WriteLine(array1.Equals(array2)); //output False
Console.WriteLine(array1 == array2); //output False
IStructuralEquatable equ = array1;
Console.WriteLine(equ.Equals(array2, StructuralComparisons.StructuralEqualityComparer)); //output True
上一篇:Petrozavodsk Winter Camp, Andrew, 2014, Bipartite Bicolored Graphs


下一篇:初识JAVA(【面向对象】:pub/fri/pro/pri、封装/继承/多态、接口/抽象类、静态方法和抽象方法;泛型、垃圾回收机制、反射和RTTI)