Search code examples
iequalitycomparer

why do i need GetHashcode() in the IEqualityComparer interface?


i see that the IEqualityComparer interface has Equals(obj x, obj y) and GetHashcode().

I fully understand the Equals() methods because i you have to say if two things are the same or not but why do i need to implement a GetHashCode() method as well?


Solution

  • It's needed for use in Hashtables - it's how the container indexes your objects

    http://msdn.microsoft.com/en-us/library/system.object.gethashcode.aspx