aus irgendeinem Grund nicht ein Wörterbuch verwenden
-
27-09-2019 - |
Frage
Ich war über ein Gespräch mit einem Kollegen mit, ob es besser ist, einen Wörterbuch zu verwenden und neu zu besiedeln, wenn es eine Ergebnismenge Änderungen oder nur Gebrauch Linq Schleife über alle Elemente in der Liste jedes Mal.
Wir versuchen, eine Eltern / Kind-Beziehung zu kartieren, und ich schlug vor, die ParentID als Wörterbuch-Taste, und der Wörterbuch Wert als benutzerdefiniertes Objekt.
Wir werden in der Regel zu iterieren über alle Eltern / Kinder mehr brauchen und die Liste heruntergekommen.
Gibt es einen Grund, warum Sie nicht einen Wörterbuch in diesem Umstand nutzen? wenn ja, was würden Sie stattdessen
Lösung
Wenn Sie wirklich brauchen, um Iterierte über die ganze Sammlung zu tun, jedes Mal, würde es nicht viel sein (falls vorhanden) Nutzen für eine Dictionary
hat. Auf der anderen Seite, wenn Sie gelegentlich bestimmte Fälle durch ihre Schlüssel finden müssen, könnte Dictionary
sein, was Sie brauchen.
Beachten Sie, dass selbst wenn Sie ein Wörterbuch verwenden, können Sie nach wie vor nur eine Iteration durch die Liste der Werte, wenn nötig, für nicht zu viel mehr ‚Gewicht‘ als Iterieren durch einen normalen List
, aber dann würden Sie noch die Wörterbuch haben Fähigkeiten, wenn nötig.
Andere Tipps
Performance weise, es wird wirklich auf Ihre speziellen Anwendung ab, so dass Sie zu Test haben werden.