Need help understanding unexpected behavior using LINQ Join with HashSet<T>
I encountered some odd behavior using C# HastSet with LINQ's Join method that I don't understand. I've simplified what I am doing to help focus on the behavior I am seeing. I have the following: private HashSet<MyClass> _mySet; // module level IEnumerable<ISearchKey> searchKeys; // parameter. // Partial key searches are allowed. private IEqualityComparer<ICoreKey> _coreKeyComparer; // Module level. // Compares instances of MyClass and ISearchKey to determine // if they match. Given that There is a 1-to-many relationship between searchKeys and _mySet. MyClass implements interface IPartialKey