Je dois avoir des objets triés par prix valeur (décimale) pour un accès rapide. Je dois être en mesure de trouver tous les objets avec le prix plus de A ou moins de B. Je pensais à SortedList, mais cela ne permet pas de trouver un énumérateur ascendant ou descendant à partir d'une valeur de clé donnée (par exemple, donnez-moi tous les objets dont le prix est inférieur à 120 $). Pensez à un système qui accepte les voitures à vendre des vendeurs et les stocke dans cette collection. Alors les acheteurs veulent trouver des voitures moins chères que 1000 $.Besoin de trier le dictionnaire conçu pour trouver des valeurs avec des clés inférieures ou supérieures à la valeur de recherche
Fondamentalement, ce dont j'ai besoin est une collection arborescente et une fonctionnalité pour trouver un nœud plus petit \ plus grand que la clé fournie.
Veuillez nous consulter.
Comme je comprends, vous devez stocker des objets dans la mémoire en quelque sorte et être en mesure de sélectionner certains d'entre eux rapidement. Pourquoi demandez-vous à ce sujet? (Peut-être avez-vous des détails?) De telles opérations sont si rapides (parce que tout est en mémoire, au lieu de requêtes SQL) que vous devez simplement aller de l'avant et implémenter cela d'une manière ou d'une autre. Vous pouvez encapsuler la logique dans une classe et fournir une interface. Quand les temps durs viennent (s'ils viennent jamais) vous devez profiler et optimiser votre classe (l'interface devrait être constante). Et pour la première implémentation de votre classe, la solution de Marcelo Cantos est assez bonne. N'ayez pas peur de LINQ :) –
duplicata possible de [Trouver efficacement la plus proche clé de dictionnaire] (http://stackoverflow.com/questions/12412869/efficiently-find-nearest-dictionary-key) – nawfal