我希望能够创建100个桶的固定大小的散列图,如果我需要存储超过100个项目,那么就必须进行冲突和覆盖。哈希表类具有IsFixedSize属性,但它只是readonly。
我是否完全错误地考虑过这个问题,或者是否有解决方案?
答案 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中使用它。它可能需要一些重点,但有关于如何完成这种事情的答案。