为什么IEqualityComparer<;T>;Equals方法接受两个参数

本文关键字:两个 参数 方法 lt IEqualityComparer gt 为什么 Equals | 更新日期: 2023-09-27 18:29:14

我不明白Equals方法为什么采用(Tx,Ty)。当您在一个实例上调用该方法时,难道您还没有一个实例可供比较吗?GetHashCode也是如此——如果我已经在现有实例上调用了它,为什么它需要一个对象实例作为参数?

如果我调用.GetHashCode(b)会发生什么?使用哪一个?

为什么IEqualityComparer<;T>;Equals方法接受两个参数

IEqualityComparer<T>接口用于比较器对象。所以,不…您可能还没有一个实例作为实现的一部分。

您可能会想到IEquatable<T>,它是通过被比较的对象类型来实现的。