繁体   English   中英

为什么IEqualityComparer <T> 等于方法有两个参数?

[英]Why does IEqualityComparer<T> Equals method take two arguments?

我不明白为什么Equals方法需要(T x,T y)。 在实例上调用该方法时,您是否已经没有一个实例可以与之进行比较? 与GetHashCode相同-如果我已经在现有实例上调用对象实例,为什么它需要一个对象实例作为参数?

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

IEqualityComparer<T>接口用于比较器对象。 因此,不...您将没有一个实例作为实现的一部分。

您可能会想到IEquatable<T> ,它是由要比较的对象的类型实现的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM