假设出于调试目的,我想快速将IEnumerable的内容转换为单行字符串,每个字符串项以逗号分隔。我可以使用foreach循环在辅助方法中完成它,但这既不好玩也不简短。可以使用Linq吗?还有其他一些简短的方法吗?
答案 0 :(得分:86)
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));
}
}
答案 1 :(得分:29)
string output = String.Join(",", yourEnumerable);
String.Join Method (String, IEnumerable
连接构造的IEnumerable集合的成员 使用每个成员之间的指定分隔符键入String。
答案 2 :(得分:9)
collection.Aggregate("", (str, obj) => str + obj.ToString() + ",");
答案 3 :(得分:3)
IEnumerable<string> foo =
var result = string.Join( ",", foo );
答案 4 :(得分:1)
将大型字符串数组连接到字符串,不要直接使用+,使用StringBuilder逐个迭代,或者一次性使用String.Join。
答案 5 :(得分:0)
// 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" };
// Now let us join them all together:
string commaSeparatedString = String.Join(", ", items);
// This is the expected result: "WA01, WA02, WA03, WA04, WA01"
Console.WriteLine(commaSeparatedString);
Console.ReadLine();