如何转换IEnumerable到一个逗号分隔的字符串

本文关键字:一个 分隔 字符串 转换 何转换 IEnumerable string | 更新日期: 2023-09-27 18:09:10

假设出于调试目的,我想快速地将IEnumerable的内容转换成一行字符串,每个字符串项用逗号分隔。我可以在一个带有foreach循环的助手方法中做到这一点,但这既不有趣也不简单。Linq可以使用吗?还有其他捷径吗?

如何转换IEnumerable<string>到一个逗号分隔的字符串

using System;
using System.Collections.Generic;
using System.Linq;
class C
{
    public static void Main()
    {
        var a = new []{
            "First", "Second", "Third"
        };
        System.Console.Write(string.Join(",", a));
    }
}
string output = String.Join(",", yourEnumerable);

字符串。连接方法(String, IEnumerable

)

连接类的构造IEnumerable集合的成员类型字符串,使用每个成员之间指定的分隔符。

collection.Aggregate("", (str, obj) => str + obj.ToString() + ",");

(一)设置IEnumerable:

// In this case we are using a list. You can also use an array etc..
List<string> items = new List<string>() { "WA01", "WA02", "WA03", "WA04", "WA01" };

(b)将IEnumerable组合成一个字符串:

// Now let us join them all together:
string commaSeparatedString = String.Join(", ", items);
// This is the expected result: "WA01, WA02, WA03, WA04, WA01"

(c)用于调试目的:

Console.WriteLine(commaSeparatedString);
Console.ReadLine();
IEnumerable<string> foo = 
var result = string.Join( ",", foo );

如果要将一个大数组的字符串连接成一个字符串,不要直接使用+,而是使用StringBuilder逐个迭代,或者使用String.Join一次迭代。