NameValueCollectionの代わりにDictionary<string、string>を使用する必要がある理由は何ですか?
(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、Dictionary <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
}
これらのユースケースでは、一方を他方に対して使用する利点はありますか?パフォーマンス、メモリ使用量、ソート順などに違いはありますか?