¿Cuál es la diferencia entre una lista de KeyValuePair y un diccionario para los mismos tipos? ¿Existe un momento adecuado para utilizar uno u otro?
c#
dictionary
Corpsekicker
fuente
fuente
En resumen, la lista no impone la unicidad de la clave, por lo que si necesita esa semántica, eso es lo que debe usar.
fuente
El diccionario es un tipo genérico que contiene una colección de pares clave-valor. El diccionario es rápido para operaciones de búsqueda, porque utiliza la función hash internamente . Eso significa que todas las claves deben ser únicas en el diccionario .
Considere estos ejemplos:
Por lo tanto, siempre debe considerar dos al menos dos cosas:
fuente
La Lista también sería útil cuando le interese el orden de los artículos.
fuente
Además de la respuesta de Phillip Ngan, SOAP o de otro tipo, no puede serializar XML objetos que implementen IDictionary.
de aquí
fuente
En los servicios web SOAP para silverlight, hemos encontrado que los diccionarios no se serializan. Esta sería una situación en la que usaría una Lista de KeyValuePair sobre un Diccionario.
.
fuente
De http://blogs.msdn.com/bclteam/archive/2004/09/03/225473.aspx :
fuente