Was ist der Unterschied zwischen einer Liste von KeyValuePair und einem Wörterbuch für dieselben Typen? Gibt es einen angemessenen Zeitpunkt, um den einen oder anderen zu benutzen?
c#
dictionary
Corpsekicker
quelle
quelle
Kurz gesagt, die Liste erzwingt keine Eindeutigkeit des Schlüssels. Wenn Sie also diese Semantik benötigen, sollten Sie diese verwenden.
quelle
Dictionary ist ein generischer Typ , der eine Sammlung von Schlüssel-Wert-Paaren enthält. Das Wörterbuch ist schnell für Suchvorgänge, da es intern die Hash-Funktion verwendet . Das heißt, alle Schlüssel müssen im Wörterbuch eindeutig sein .
Betrachten Sie diese Beispiele:
Sie sollten also immer mindestens zwei Dinge berücksichtigen:
quelle
Die Liste ist auch nützlich, wenn Sie sich um die Reihenfolge der Artikel kümmern.
quelle
Neben der Antwort von Phillip Ngan, SOAP oder auf andere Weise, können Sie keine Objekte, die IDictionary implementieren, in XML serialisieren.
von hier
quelle
In SOAP-Webservices für Silverlight haben wir festgestellt, dass Wörterbücher nicht serialisiert werden. Dies wäre eine Situation, in der Sie eine Liste von KeyValuePair über ein Wörterbuch verwenden würden.
.
quelle
Von http://blogs.msdn.com/bclteam/archive/2004/09/03/225473.aspx :
quelle