Quelle est la différence entre une liste de KeyValuePair et un dictionnaire pour les mêmes types? Y a-t-il un moment approprié pour utiliser l'un ou l'autre?
c#
dictionary
Corpsekicker
la source
la source
En bref, la liste n'applique pas l'unicité de la clé, donc si vous avez besoin de cette sémantique, c'est ce que vous devez utiliser.
la source
Dictionary est un type générique qui contient une collection de paires clé-valeur. Le dictionnaire est rapide pour les opérations de recherche, car il utilise la fonction de hachage en interne . Cela signifie que toutes les clés doivent être uniques dans le dictionnaire .
Considérez ces exemples:
Vous devriez donc toujours considérer deux au moins deux choses:
la source
La liste serait également utile lorsque vous vous souciez de l'ordre des éléments.
la source
Suite à la réponse de Phillip Ngan, SOAP ou autre, vous ne pouvez pas sérialiser XML des objets qui implémentent IDictionary.
d'ici
la source
Dans les services Web SOAP pour silverlight, nous avons constaté que les dictionnaires ne se sérialisent pas. Ce serait une situation où vous utiliseriez une liste de KeyValuePair sur un dictionnaire.
.
la source
De http://blogs.msdn.com/bclteam/archive/2004/09/03/225473.aspx :
la source