StructuralComparisons::StructuralEqualityComparer Property

.NET Framework (current version)
 

Gets a predefined object that compares two objects for structural equality.

Namespace:   System.Collections
Assembly:  mscorlib (in mscorlib.dll)

public:
property IEqualityComparer^ StructuralEqualityComparer {
	static IEqualityComparer^ get();
}

Property Value

Type: System.Collections::IEqualityComparer^

A predefined object that is used to compare two collection objects for structural equality.

When the IComparer object returned by this property is passed to the equality comparison method of a collection object, such as Array::IStructuralEquatable::Equals(Object^, IEqualityComparer^) or Tuple<T1, T2, T3>::IStructuralEquatable::Equals(Object^, IEqualityComparer^), its IEqualityComparer::Equals method is called for each member of an array or for each component of a tuple. This implementation of the Equals method behaves as follows when it compares each item of a collection object with the corresponding item of another collection object:

  • If both items are null, it considers the two items to be equal.

  • If one item is null but the other item is not, it considers the two items to be unequal.

  • If the first item in the comparison can be cast to an IStructuralEquatable object (in other words, if it is a collection object that implements the IStructuralEquatable interface), it calls the IStructuralEquatable::Equals method.

  • If the first item in the comparison cannot be cast to an IStructuralEquatable object (in other words, if it is not a collection object that implements the IStructuralEquatable interface), it calls the item's Equals method.

Universal Windows Platform
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Windows Phone Silverlight
Available since 8.0
Windows Phone
Available since 8.1
Return to top
Show: