如何转换 Dictionary<string, string>
到 NameValueCollection
?
我们项目的现有功能返回一个老式的 NameValueCollection
我用 LINQ 修改了它。结果应作为 NameValueCollection
传递.
我想以一种通用的方式解决这个问题。有什么提示吗?
最佳答案
为什么不使用简单的 foreach
循环?
foreach(var kvp in dict)
{
nameValueCollection.Add(kvp.Key.ToString(), kvp.Value.ToString());
}
这可以嵌入到扩展方法中:
public static NameValueCollection ToNameValueCollection<TKey, TValue>(
this IDictionary<TKey, TValue> dict)
{
var nameValueCollection = new NameValueCollection();
foreach(var kvp in dict)
{
string value = null;
if(kvp.Value != null)
value = kvp.Value.ToString();
nameValueCollection.Add(kvp.Key.ToString(), value);
}
return nameValueCollection;
}
你可以这样调用它:
var nameValueCollection = dict.ToNameValueCollection();
关于C#:将 Dictionary<> 转换为 NameValueCollection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7230383/