当前位置: 首页 > 编程语言 > C#

C#学习教程:.net字典用了多少哈希桶?共享

时间:2023-04-10 21:21:28 C#

.net字典用了多少哈希桶?我知道这是一个实现细节,但我很好奇:.NET字典中使用的哈希桶的数量是否有限制?我假设它将在2*numberOfElements左右,但有没有人确切知道(或者它是否在任何地方记录)?简而言之:它使用的大小等于大于[numberOfElements]的第一个质数。然而,它并没有考虑每一个素数:它使用一个最大尺寸的表,对于更大的尺寸,它会很难计算出一个素数。如果查看源代码,可以在一个名为HashHelpers的类中找到下表:(我认为这意味着在开始计算质数之前需要720万项)以上是C#学习教程:Howmanyhashbucketsdoes.net词典使用?分享的所有内容,如果对你有用,需要了解更多C#学习教程,希望大家多多关注——publicstaticreadonlyint[]primes={3,7,11,17,23,29,37,47,59,71,89,107,131,163,197,239,293,353,431,521,631,761,919,1103,1327,1597,1931,2333,2801,33471,4,48391,7013,8419,10103,12143,14591,17519,21023,25229,30293,36353,43627,52361,62851,75431,90523,108631,130363,156437,187751,225307,270371,324449,389357,467237,560689,672827,807403,968897,1162687,1395263,1674319,2009191,2411033,2893249,3471899,4166287,4999559,1395263,1674319,2009191,2411033.Ifreproduced,pleaseindicatethesource: