Tuple<T1, T2, T3, T4, T5, T6, T7>::IStructuralEquatable::Equals Method
Returns a value that indicates whether the current Tuple<T1, T2, T3, T4, T5, T6, T7> object is equal to a specified object based on a specified comparison method.
Assembly: mscorlib (in mscorlib.dll)
private: virtual bool Equals( Object^ other, IEqualityComparer^ comparer ) sealed = IStructuralEquatable::Equals
- Type: System::Object
The object to compare with this instance.
- Type: System.Collections::IEqualityComparer
An object that defines the method to use to evaluate whether the two objects are equal.
Return ValueType: System::Boolean
true if the current instance is equal to the specified object; otherwise, false.
The IEqualityComparer::Equals implementation is called only if other is not nullptr, and if it can be successfully cast (in C#) or converted (in Visual Basic) to a Tuple<T1, T2, T3, T4, T5, T6, T7> object whose components are of the same types as the current instance. The method first passes the Item1 values of the Tuple<T1, T2, T3, T4, T5, T6, T7> 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, T6, T7> objects. This continues until the method call returns false when it compares a specific pair of Item values, or the two Item7 values are passed to the method.
The following example defines a RateComparer class that performs a custom test for equality. If the values that are passed to its IStructuralEquatable::Equals method are of type Single or Double, the method tests for equality by using only up to three fractional digits. Otherwise, it simply calls the x parameter's Equals method. The example uses this IEqualityComparer implementation to determine whether four Tuple<T1, T2, T3, T4, T5, T6, T7> objects that contain data on the rate of population change between 1950 and 2000 are equal.