ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest>::IStructuralEquatable::Equals Method (Object^, IEqualityComparer^)

 

Returns a value that indicates whether the current ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest> instance 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 objects; otherwise, false.

This member is an explicit interface implementation. It can only be used when the ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest> 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 to a ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest> object that has the same total number of components (including those in nested tuple objects) of the same types as the current instance. The IStructuralEquatable::Equals(Object^, IEqualityComparer^) method first passes the Item1 values of the ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest> 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 ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest> objects. This continues until the method call returns false when it compares a specific pair of values, or the two Rest values are passed to the method.

.NET Framework
Available since 4.7
Return to top
Show: