NameValueCollection vs Dictionary <строка, строка> [дубликат]

Возможный дубликат:
IDictionary <string, string> или NameValueCollection

Любая причина, я должен использовать словарь <строка, строка> вместо NameValueCollection?

(в C # / .NET Framework)

Вариант 1, используя 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
}

Вариант 2, используя словарь <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
}

Для этих случаев использования, есть ли какое-то преимущество, чтобы использовать один против другого? Есть ли разница в производительности, использовании памяти, порядке сортировки и т. Д.?

Ответы на вопрос(2)

Ваш ответ на вопрос