public readonly int RightIdB; public readonly int RightIdD;并且需要在HashSet对于GetHashCode来说,什么是一个好的实现,这样它就可以优化速度?我尝试将每个id的4位存储在返回的整数中,如下所示: {
int A = LeftIdA & 0xF;
只能接受五个值,但其中两个值,即null和Season.Spring,具有相同的散列码。使用HashSet<>,我可以确认使用默认的相等比较器,值Season.Spring和null 将在相同的存储桶中结束。这可以通过非常仔细地检查私有数组成员m_buckets和m_slots来确定。这是来自HashSet<>的源代码
// Workaround Comparers that throw ArgumentNullException for Get
我想要创建HashSet<Point>的子类,这样每当我在另一个set中使用HashSet<Point>.CreateSetComparer()时,它就会将它用作IEqualityComparer。:我希望它被自动处理为:
var myDict = new Dictionary<HashSet<Point>, Char>(HashSet<Po