IDictionary的<字符串,字符串>或NameValueCollection中 [英] IDictionary<string, string> or NameValueCollection

查看:77
本文介绍了IDictionary的<字符串,字符串>或NameValueCollection中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这样一个场景,在我可以使用的NameValueCollection或IDictionary的。但我想知道哪一个会是更好的性能明智



- 使用的NameValueCollection

  NameValueCollection中选择()
{
的NameValueCollection NC =新的NameValueCollection();

NC = ....; //这里填入数控

如果(排序)
//排序的NameValueCollection NC这里

返回NC;
}



- 使用的IDictionary

 的IDictionary<字符串,字符串>选项​​()
{
&字典LT;字符串,字符串> optionDictionary =新词典<字符串,字符串>();

optionDictionary = ....; //填充

如果(排序)
返回新SortedDictionary<字符串,字符串>(optionDictionary);
,否则
返回optionDictionary;
}


解决方案

这些集合类型是不完全互换:NameValueCollection中允许通过整数索引访问。如果你不需要这个功能,你不应该使用的NameValueCollection作为索引免费不来的。



根据字符串你看数字,我会考虑任何的Hashtable或IDictionary的。克日什托夫·Cwalina这里讨论的细微之处:的http://博客。 gotdotnet.com/kcwalina/archive/2004/08/06/210297.aspx


I have a scenario where-in I can use either NameValueCollection or IDictionary. But I would like to know which one will be better performance-wise.

-- Using NameValueCollection

NameValueCollection options()
{
    NameValueCollection nc = new NameValueCollection();

    nc = ....; //populate nc here

    if(sorting)
       //sort NameValueCollection nc here

    return nc;
}

-- using IDictionary

IDictionary<string, string> options()
{
    Dictionary<string, string> optionDictionary = new Dictionary<string, string>();

    optionDictionary = ....; //populate

    if(sorting)
       return new SortedDictionary<string, string>(optionDictionary);
    else
       return optionDictionary;
}

解决方案

These collection types are not exactly interchangeable: NameValueCollection allows access via integer indexes. If you don't need that functionality, you shouldn't use a NameValueCollection as indexing doesn't come "for free".

Depending on the number of strings you're looking at, I would consider either Hashtable or IDictionary. Krzysztof Cwalina discusses the subtleties here: http://blogs.gotdotnet.com/kcwalina/archive/2004/08/06/210297.aspx.

这篇关于IDictionary的&LT;字符串,字符串&GT;或NameValueCollection中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆