Original Post
I'm in need of a data structure that stores a set of objects of a given type without allowing duplicates, and supports fast insert, delete, and test for a specific item in the collection. In the general case I can't rely on things like the values of each object being unique (e.g. for a GetHashCode implementation or assigning a unique key to each object). Is there some stock way to do this? If not, I could make one easy enough if there was a way to either order raw references (to make a binary search tree; Object.ReferenceEquals is similar, but only tests for equality) or get a hash of a reference (to make a hash table). Do either of those things exist?