如何将 NameValueCollection 转换为 Hashtable

2024-01-01

我有一个NameValueCollection对象,我需要将其转换为Hashtable对象,最好在一行代码中。我怎样才能实现这个目标?


您应该考虑使用通用的Dictionary http://msdn.microsoft.com/en-us/library/xfhwa508.aspx相反,因为它是强类型的,而Hashtable http://msdn.microsoft.com/en-us/library/system.collections.hashtable.aspx不是。尝试这个:

NameValueCollection col = new NameValueCollection();
col.Add("red", "rouge");
col.Add("green", "verde");
col.Add("blue", "azul");

var dict = col.AllKeys
              .ToDictionary(k => k, k => col[k]);

EDIT:根据您的评论,要获得哈希表,您仍然可以使用上述方法并添加一行。您始终可以在一行中完成此工作,但两行更具可读性。

Hashtable hashTable = new Hashtable(dict);

或者,使用循环的 .NET 3.5 之前的方法是:

Hashtable hashTable = new Hashtable();
foreach (string key in col)
{
    hashTable.Add(key, col[key]);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 NameValueCollection 转换为 Hashtable 的相关文章

随机推荐