C#创建固定大小的哈希表

时间:2010-01-26 02:29:17

标签: c# size hashtable hash fixed

我希望能够创建100个桶的固定大小的散列图,如果我需要存储超过100个项目,那么就必须进行冲突和覆盖。哈希表类具有IsFixedSize属性,但它只是readonly。

我是否完全错误地考虑过这个问题,或者是否有解决方案?

1 个答案:

答案 0 :(得分:4)

.NET框架中的集合不允许进行大量微调。虽然你可能会发现一个足够有效的需求。在优化之前尝试一些可行的。

如果你不自己动手,那么你可能会发现第三方替代方案具有更细粒度的控制。例如,请参阅The C5 Generic Collection Library for C# and CLI作为可能的开始。检查various Hash* classes on their documentation page

如果您决定推出自己的产品,那么您将需要为集合和/或列表,枚举等实现some of the standard interfaces,以便它们按照预期的方式使用C#foreach以及语言和.NET功能

如果你有一个有效的C ++实现,你也可以采用它,并且有很多方法可以在C#/ .NET中使用它。它可能需要一些重点,但有关于如何完成这种事情的答案。