As far as i know, there is no direct equivalent in C#. My current idea is to use a Dictionary with a custom IEqualityComparer, that checks for reference equality.
However, this seems to lose the advantage gained by hashing. Is there a way to get an individual hashcode out of every different object? Or is this impossible and I should use some other approach?
You can use RuntimeHelpers.GetHashCode(object)
which calls object.GetHashCode()
non-virtually - this is the equivalent of System.identityHashcode
in Java. I think that's what you're after. So your IEqualityComparer
would just use that for hashing and object.ReferenceEquals
for equality.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With