2014-11-05 91 views
0

我不明白爲什麼Equals方法需要(T x,T y)。您是否已經有一個實例與您在實例上調用該方法時進行比較? GetHashCode相同 - 爲什麼它需要一個對象實例作爲參數,如果我已經在現有的實例上調用它的話?爲什麼IEqualityComparer <T> Equals方法需要兩個參數?

如果我調用a.GetHashCode(b)會發生什麼?哪一個被使用?

回答

5

IEqualityComparer<T>接口是針對比較器的對象。所以,不,你不會有一個實例作爲實現的一部分。

你可能會想到IEquatable<T>,它是通過比較對象的類型實現的。

+0

Duh。我完全想到IEquatable謝謝! – Max 2014-11-05 23:22:51

相關問題