如何转换IEnumerable到一个逗号分隔的字符串
本文关键字:一个 分隔 字符串 转换 何转换 IEnumerable string | 更新日期: 2023-09-27 18:09:10
假设出于调试目的,我想快速地将IEnumerable的内容转换成一行字符串,每个字符串项用逗号分隔。我可以在一个带有foreach循环的助手方法中做到这一点,但这既不有趣也不简单。Linq可以使用吗?还有其他捷径吗?
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
一次迭代。