StructuralComparisons.StructuralEqualityComparer 属性

定义

获取一个可比较两个对象的结构是否相等的预定义对象。

public:
 static property System::Collections::IEqualityComparer ^ StructuralEqualityComparer { System::Collections::IEqualityComparer ^ get(); };
public static System.Collections.IEqualityComparer StructuralEqualityComparer { get; }
member this.StructuralEqualityComparer : System.Collections.IEqualityComparer
Public Shared ReadOnly Property StructuralEqualityComparer As IEqualityComparer

属性值

IEqualityComparer

一个用于比较两个集合对象的结构是否相等的预定义对象。

注解

IComparer当此属性返回的对象传递给集合对象的相等比较方法(例如Array.IStructuralEquatable.Equals(Object, IEqualityComparer),或Tuple<T1,T2,T3>.IStructuralEquatable.Equals(Object, IEqualityComparer))为数组的每个成员或元组的每个组件调用其IEqualityComparer.Equals方法时。 此方法 Equals 的此实现在将集合对象的每个项与另一个集合对象的对应项进行比较时,其行为如下所示:

  • 如果这两个项都 null相同,它将这两个项视为相等。

  • 如果一项为 null,但另一项不是,则认为这两个项不相等。

  • 如果比较中的第一个项可以转换为 IStructuralEquatable 对象 (换句话说,如果是实现 IStructuralEquatable 接口) 的集合对象,则调用 IStructuralEquatable.Equals 该方法。

  • 如果比较中的第一个项不能转换为 IStructuralEquatable 对象 (换句话说,如果不是实现 IStructuralEquatable 接口) 的 Equals 集合对象,则调用项的方法。

适用于

另请参阅