Duplicata possible :
IDictionary<string, string> ou NameValueCollection
Y a-t-il une raison pour laquelle je devrais utiliser le Dictionary<string,string> au lieu de NameValueCollection ?
(en C# / .NET Framework)
Option 1, en utilisant NameValueCollection :
//enter values:
NameValueCollection nvc = new NameValueCollection()
{
{"key1", "value1"},
{"key2", "value2"},
{"key3", "value3"}
};
// retrieve values:
foreach(string key in nvc.AllKeys)
{
string value = nvc[key];
// do something
}
Option 2, en utilisant le Dictionnaire<string,string>...
//enter values:
Dictionary<string, string> dict = new Dictionary<string, string>()
{
{"key1", "value1"},
{"key2", "value2"},
{"key3", "value3"}
};
// retrieve values:
foreach (KeyValuePair<string, string> kvp in dict)
{
string key = kvp.Key;
string val = kvp.Value;
// do something
}
Pour ces cas d'utilisation, y a-t-il un avantage à utiliser l'un plutôt que l'autre ? Y a-t-il une différence en termes de performances, d'utilisation de la mémoire, d'ordre de tri, etc.