Question

Je veux être en mesure de créer une taille fixe hashmap de dire 100 seaux, et si je dois stocker plus de 100 articles, alors les collisions et écrasez aura juste à se produire. La classe Hashtable a une propriété IsFixedSize mais il est en lecture seule.

Suis-je penser à ce tout à fait à tort, ou est-il une solution à cela?

Était-ce utile?

La solution

Collections dans le framework .NET ne permettent pas beaucoup de peaufinage. Bien que vous pourriez trouver un assez efficace pour vos besoins. Essayez quelques-unes viables les avant optimisation.

Si vous ne roulez pas votre propre alors vous pourriez trouver une alternative 3ème partie qui a des contrôles plus à grains fins. Par exemple, voir La bibliothèque générique C5 Collection pour C # et CLI comme départ possible. Vérifiez dans le différentes Hash * des cours sur leur page de documentation .

Si vous décidez de rouler votre propre alors vous aurez envie de mettre en œuvre quelques-unes des interfaces standard pour les collections et / ou des listes, énumérations, etc afin qu'ils fonctionnent comme prévu avec C # foreach et le langage et les fonctionnalités .NET.

Vous pouvez également prendre une implémentation C ++ efficace si vous en avez un et il y a des façons de l'utiliser en C # /. NET. Il peut prendre un peu de finagling mais il y a des réponses sur SO sur la façon d'accomplir ce genre de chose.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top