Tuple<T1, T2>.IStructuralEquatable.Equals Method
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Returns a value that indicates whether the current Tuple<T1, T2> object is equal to a specified object based on a specified comparison method.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- other
- Type: System.Object
The object to compare with this instance.
- comparer
- Type: System.Collections.IEqualityComparer
An object that defines the method to use to evaluate whether the two objects are equal.
Return Value
Type: System.Booleantrue if the current instance is equal to the specified object; otherwise, false.
Implements
IStructuralEquatable.Equals(Object, IEqualityComparer)This member is an explicit interface member implementation. It can be used only when the Tuple<T1, T2> instance is cast to an IStructuralEquatable interface.
The IStructuralEquatable.Equals implementation is called only if other is not null, and if it can be successfully cast (in C#) or converted (in Visual Basic) to a Tuple<T1, T2> object whose components are of the same types as the current instance. The IStructuralEquatable.Equals method first passes the Item1 values of the Tuple<T1, T2> objects to be compared to the IEqualityComparer.Equals implementation. If this method call returns true, the method is called again and passed the Item2 values of the two Tuple<T1, T2> objects.
The following example defines an Item2Comparer class that implements the IEqualityComparer interface and changes the way in which Tuple<T1, T2> objects are evaluated for equality. The method always returns true when it is passed the Item1 property values of two Tuple<T1, T2> objects, and it calls the IStructuralEquatable.Equals method to evaluate their Item2 property values. As a result, the method tests for equality based only on the value of the Item2 property. The output illustrates the result for a data set of Tuple<T1, T2> objects that record the names of runners and the distances that they ran.