.NET:从字典生成字符串的有效方法?

发布于 2024-09-01 15:05:27 字数 724 浏览 8 评论 0原文

假设我有一个 Dictionary,并且我想生成它的字符串表示形式。 “石头工具”的实现方法是:

private static string DictionaryToString(Dictionary<String,String> hash)
{
    var list = new List<String> ();
    foreach (var kvp in hash)
    {
        list.Add(kvp.Key + ":" + kvp.Value);
    }
    var result = String.Join(", ", list.ToArray());
    return result;
}

是否有一种有效的方法可以使用现有的扩展方法在 C# 中实现此目的?

我知道 ConvertAll()ForEach() List 上的方法,可用于消除 foreach 循环。我可以在 Dictionary 上使用类似的方法来迭代项目并完成我想要的吗?

Suppose I have a Dictionary<String,String>, and I want to produce a string representation of it. The "stone tools" way of doing it would be:

private static string DictionaryToString(Dictionary<String,String> hash)
{
    var list = new List<String> ();
    foreach (var kvp in hash)
    {
        list.Add(kvp.Key + ":" + kvp.Value);
    }
    var result = String.Join(", ", list.ToArray());
    return result;
}

Is there an efficient way to do this in C# using existing extension methods?

I know about the ConvertAll() and ForEach() methods on List, that can be used to eliminate foreach loops. Is there a similar method I can use on Dictionary to iterate through the items and accomplish what I want?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

陌伤浅笑 2024-09-08 15:05:27

在 .Net 4.0 中:

String.Join(", ", hash.Select(kvp => kvp.Key + ":" + kvp.Value));

在 .Net 3.5 中,您需要添加 .ToArray()

In .Net 4.0:

String.Join(", ", hash.Select(kvp => kvp.Key + ":" + kvp.Value));

In .Net 3.5, you'll need to add .ToArray().

念三年u 2024-09-08 15:05:27

干得好:


    public static class DictionaryExtensions
    {
        public static string DictionaryToString(this Dictionary<String, String> hash)
        {
            return String.Join(", ", hash.Select(kvp => kvp.Key + ":" + kvp.Value));
        }
    }

Here you go:


    public static class DictionaryExtensions
    {
        public static string DictionaryToString(this Dictionary<String, String> hash)
        {
            return String.Join(", ", hash.Select(kvp => kvp.Key + ":" + kvp.Value));
        }
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文