aucune raison de ne pas utiliser un dictionnaire
-
27-09-2019 - |
Question
Je discutais avec un collègue de savoir s'il est préférable d'utiliser un dictionnaire et repeupler lors de chaque changement de jeu de résultats ou simplement boucle utiliser LINQ sur tous les éléments de la liste à chaque fois.
Nous essayons de cartographier une relation parent / enfant, et je suggéré d'utiliser la ParentID comme la clé de dictionnaire, et la valeur dictionnaire comme l'objet personnalisé.
Nous allons généralement avoir besoin de parcourir tous les parents / enfants et exécuter la liste.
Y at-il des raisons pour lesquelles vous ne voudriez pas utiliser un dictionnaire dans ce cas? si oui ce utiliseriez-vous à la place
La solution
Si vous avez vraiment besoin d'itérer sur toute la collection à chaque fois, il n'y aurait pas beaucoup (le cas échéant) avantage d'avoir un Dictionary
. D'autre part, si vous avez besoin de temps en temps pour localiser des cas spécifiques par leurs clés, Dictionary
pourrait être ce dont vous avez besoin.
Notez que même si vous utilisez un dictionnaire, vous pouvez simplement parcourir la liste des valeurs en cas de besoin, pour ne pas trop plus « poids » que par un List
itérer normal, mais vous auriez encore le Dictionnaire capacités, si nécessaire.
Autres conseils
Performance sage, il va vraiment dépendre de votre application spécifique, de sorte que vous aurez à tester.