C#转换字典<>到NameValueCollection中 [英] C#: Convert Dictionary<> to NameValueCollection

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

问题描述

我怎么能转换词典<字符串,字符串> 的NameValueCollection

我们的项目的现有功能返回一个老式的的NameValueCollection 我与LINQ修改。结果应该转嫁为的NameValueCollection

The existing functionality of our project returns an old-fashioned NameValueCollection which I modify with LINQ. The result should be passed on as a NameValueCollection.

我想在一个通用的方式来解决这个问题。任何提示?

I want to solve this in a generic way. Any hints?

推荐答案

为什么不使用一个简单的的foreach 循环<? / p>

Why not use a simple foreach loop?

foreach(var kvp in dict)
{
    nameValueCollection.Add(kvp.Key.ToString(), kvp.Value.ToString());
}

这可以被嵌入到一个扩展方法:

This could be embedded into an extension method:

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;
}

您可以然后调用它是这样的:

You could then call it like this:

var nameValueCollection = dict.ToNameValueCollection();

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

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