ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest>.IStructuralEquatable.Equals(Object, IEqualityComparer) 方法
定义
返回一个值,该值指示基于指定的比较方法,当前 ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest> 实例是否与指定的对象相等。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.
virtual bool System.Collections.IStructuralEquatable.Equals(System::Object ^ other, System::Collections::IEqualityComparer ^ comparer) = System::Collections::IStructuralEquatable::Equals;
bool IStructuralEquatable.Equals (object other, System.Collections.IEqualityComparer comparer);
abstract member System.Collections.IStructuralEquatable.Equals : obj * System.Collections.IEqualityComparer -> bool
override this.System.Collections.IStructuralEquatable.Equals : obj * System.Collections.IEqualityComparer -> bool
Function Equals (other As Object, comparer As IEqualityComparer) As Boolean Implements IStructuralEquatable.Equals
参数
- other
- Object
与该实例进行比较的对象。The object to compare with this instance.
- comparer
- IEqualityComparer
一个对象,该对象定义用于评估两个对象是否相等的方法。An object that defines the method to use to evaluate whether the two objects are equal.
返回
如果当前实例等于指定对象,则为 true;否则为 false。true if the current instance is equal to the specified objects; otherwise, false.
实现
注解
此成员是显式接口应用。This member is an explicit interface implementation. 它只能在 ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest> 实例被强制转换为接口时使用 IStructuralEquatable 。It can only be used when the ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest> instance is cast to an IStructuralEquatable interface.
IEqualityComparer.Equals仅当不为时,才会调用实现 other null ,并且如果它可以成功地强制转换为 ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest> 具有相同的组件总数 (包括嵌套元组对象) 与当前实例相同的类型的对象。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. IStructuralEquatable.Equals(Object, IEqualityComparer)方法首先传递 Item1 ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest> 要与实现进行比较的对象的值 IEqualityComparer.Equals 。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. 如果此方法调用返回 true ,将再次调用方法并传递 Item2 两个对象的值 ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest> 。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. 此过程将继续,直到方法调用 false 在比较特定对值时返回,或将两个 Rest 值传递给方法。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.