I was wondering whether the .Net HashSet<T>
is based completely on hash codes or whether it uses equality as well?
I have a particular class that I may potentially instantiate millions of instances of and there is a reasonable chance that some hash codes will collide at that point.
I'm considering using HashSet's to store some instances of this class and am wondering if it's actually worth doing - if the uniqueness of an element is only determined on its hash code then that's of no use to me for real applications
MSDN documentation seems to be rather vague on this topic - any enlightenment would be appreciated