我正在研究.NET的字典实现,发现了一个我很好奇的函数:HashHelpers.GetPrime。它所做的大部分工作都非常简单,它会寻找一个大于某个最小值的质数,并将其作为参数传递给它,显然是为了在类似哈希表的结构中用作多个桶的特定目的。但有一个神秘的部分:if(HashHelpers.IsPrime(j)&&(j-1)%101!=0){returnj;}(j-1)%101!=0检查的目的是什么?即,为什么我们显然希望避免使用比101的倍数多1的桶? 最佳答案 comments解释得很好:‘InitHash’isbasicallya