linq 如何将IEnumerable转换< string>为一个逗号分隔的字符串?

wz3gfoph  于 2023-07-31  发布在  其他
关注(0)|答案(6)|浏览(126)

假设出于调试的目的,我想快速地将IEnumerable的内容转换为一行字符串,每个字符串项都用逗号分隔。我可以在一个带有foreach循环的helper方法中完成它,但这既不有趣也不简单。Linq可以使用吗?另一种简短的方式?

9lowa7mx

9lowa7mx1#

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

    }
}

字符串

d5vmydt9

d5vmydt92#

string output = String.Join(",", yourEnumerable);

字符串
String.Join Method (String, IEnumerable
串联构造的String类型IEnumerable集合的成员,并在每个成员之间使用指定的分隔符。

rur96b6h

rur96b6h3#

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

字符串

rqmkfv5c

rqmkfv5c4#

(a)设置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();

z8dt9xmd

z8dt9xmd5#

IEnumerable<string> foo = 
var result = string.Join( ",", foo );

字符串

0ve6wy6x

0ve6wy6x6#

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

相关问题