Tuple<T1, T2, T3, T4, T5>::IStructuralEquatable::Equals Method (Object^, IEqualityComparer^)

 

Returns a value that indicates whether the current Tuple<T1, T2, T3, T4, T5> object is equal to a specified object based on a specified comparison method.

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

private:
virtual bool Equals(
	Object^ other,
	IEqualityComparer^ comparer
) sealed = IStructuralEquatable::Equals

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::Boolean

true if the current instance is equal to the specified object; otherwise, false.

This member is an explicit interface member implementation. It can be used only when the Tuple<T1, T2, T3, T4, T5> instance is cast to an IStructuralEquatable interface.

The IEqualityComparer::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, T3, T4, T5> object whose components are of the same types as the current instance. The IStructuralEquatable::Equals(Object^, IEqualityComparer^) method first passes the Item1 values of the Tuple<T1, T2, T3, T4, T5> 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, T3, T4, T5> objects. This continues until the method call returns false when it compares a specific pair of Item values, or the two Item5 values are passed to the method.

The following example defines a DoubleComparer class that implements the IEqualityComparer interface. The example instantiates two Tuple<T1, T2, T3, T4, T5> objects by using a random number generator to populate their second through fifth components, casts the first instance to an IStructuralEquatable interface, and then uses a DoubleComparer object to test the two Tuple<T1, T2, T3, T4, T5> objects for approximate equality.

No code example is currently available or this language may not be supported.

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