NameValueCollection vs Dictionary <string, string> [duplicado]
Possível duplicado:
IDictionary <string, string> ou NameValueCollection
Algum motivo para usar o Dictionary <string, string> em vez de NameValueCollection?
(em C # / .NET Framework)
Opção 1, usando 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
}
Opção 2, usando o Dicionário <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
}
Para esses casos de uso, existe alguma vantagem em usar um contra o outro? Alguma diferença de desempenho, uso de memória, ordem de classificação etc.?