KeyValuePair vs NameValueCollection

Il y a d'autres questions telles que KeyValuePair vs IDictionary, mais je sens que celui-ci diffère légèrement.

NameValueCollection prend une de clés de la chaîne et de la chaîne de valeur.

KeyValuePair est comme un dictionnaire, vous lui dites de quel type de la clé et la valeur.

Je ne comprends pas pourquoi NameValueCollection existe. L'initialisation d'un KeyValuePair avec des types chaîne semble suffisant. J'ai aussi remarqué que NameValueCollection a quelques méthodes à sa disposition, mais encore une fois pourquoi ne pas fusionner les deux classes en une seule?

Un KeyValuePair pas comme un dictionnaire. C'est tout simplement un Tuple contenant la Clé et la Valeur.
un dictionnaire prend une liste de paires clé/valeur. Je ne suis pas à voir une différence.
var kvp = new KeyValuePair<string,string>("Hello", "World!") -- KeyValuePair<K,V>
Un dictionnaire ne peut avoir qu'un de chaque touche.
Je crois que mon erreur a qu'un dictonary détient des paires clé-valeur, où, à la valeur de la clé de la paire est singulier, vous ne pouvez pas continuer à ajouter à la tvp de la kvp exemple ci-dessus, par exemple.

OriginalL'auteur The Muffin Man | 2011-05-27