3

Parfois, j'ai besoin de vérifier les ID en double dans un ensemble de valeurs et généralement j'utilise un dictionnaire pour cela - en utilisant seulement les clés et en laissant les valeurs vides. Notez qu'il s'agit d'un code serré et hautement optimisé, donc s'il vous plaît pas de cris d '«optimisation prématurée»! En supposant des scénarios où le CPU et la RAM sont pressés à la limite, je voulais recueillir des opinions sur des solutions plus optimales; probablement quelque chose comme une classe Lookup permettrait d'éviter les allocations RAM inutiles et serait donc légèrement plus rapide. Y a-t-il des cours de ce genre, soit une tierce partie, soit une classe que j'ai oubliée dans la BCL? Je comprends que Google a publié du code pour les classes de dictionnaire rapides et compacts - peut-être y at-il quelque chose qui pourrait être porté sur C#/.Net?Dictionnaire sans valeur 'charge utile' dans .Net

Merci.

Répondre

6

Utilisez le HashSet class dans .NET 3.5.

HashSet<int> set = new HashSet<int>() { 1, 2, 3 }; 
set.Add(5); 
for (int index = 0; index < 10; index++) 
{ 
    Console.WriteLine("{0} : {1}", index, set.Contains(index)); 
} 
+0

Merci, assez concluante répondez-moi :) – redcalx

Questions connexes