还有其他问题,比如KeyValuePair和IDictionary,但我觉得这个问题略有不同。
NameValueCollection接受字符串键和字符串值。
KeyValuePair就像一个字典,你告诉它键和值的类型。
我不明白为什么NameValueCollection会存在。使用字符串类型初始化KeyValuePair似乎就足够了。我还注意到NameValueCollection有更多的方法可用,但为什么不将两个类合并为一个呢?
发布于 2011-05-27 09:35:49
NameValueCollection存在于.NET 1.0和1.1中,KeyValuePair是一个泛型类型,直到2.0才添加到.NET中。System.Collections.Specialized中的所有类都早于泛型的添加;它包含某些强类型(如果您愿意的话,是专门化的),以便在您需要时使用,用户不必从对象转换为字符串。
发布于 2011-05-27 09:39:18
KeyValuePair是用于迭代Dictionary的组件
var dictionary = new Dictionary<int,long>
foreach(var kvp in dictionary)
{
// kvp is KeyValuePair<int,long>. kvp.Key is the int key and kvp.Value is the long value for the key
}NameValueCollection是可索引的。
https://stackoverflow.com/questions/6146913
复制相似问题