54 votes

Pourquoi ne puis-je pas préallouer un hashset<T></T>

Pourquoi ne puis-je pas préallouer un `` ?

Il y a des moments où je pourrais y ajouter beaucoup d’éléments et je veux éliminer le redimensionnement.

9voto

Alex Joukovsky Points 675

J’utilise ce code pour définir la capacité initiale de HashSet. Vous pouvez l’utiliser comme extension ou directement


upd. 04 juile

Ce code peut également être amélioré à l’aide de la mise en cache par réflexion. C'est parti:

7voto

David Wohlferd Points 650

Cette fonctionnalité a été ajoutée dans la 4.7.2:

0voto

chuckj Points 7975

La seule façon d’initialiser le HashSet avec une capacité initiale est de le construire avec une instnace d’une classe, telle qu’un , qui implémente . Il appellera Count sur `` l’allocation d’espace suffisant pour contenir la collection et ajouter tous les éléments au HashSet sans réaffectation.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X