如何将NameValueCollection转换为哈希表
本文关键字:哈希表 转换 NameValueCollection | 更新日期: 2023-09-27 17:49:24
我有一个NameValueCollection
对象,我需要将其转换为Hashtable
对象,最好在一行代码中。我怎样才能做到这一点呢?
您应该考虑使用泛型Dictionary
,因为它是强类型的,而Hashtable
不是。试试这个:
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 hashTable = new Hashtable(dict);
交替使用pre-。. NET 3.5使用循环的方法是:
Hashtable hashTable = new Hashtable();
foreach (string key in col)
{
hashTable.Add(key, col[key]);
}
多一行,但很简单
NameValueCollection nv = new NameValueCollection();
Hashtable hashTable = new Hashtable();
nv.Add("test", "test");
foreach (string key in nv.Keys)
{
hashTable.Add(key, nv[key]);
}
按预期编译并执行