C#中是否有一个函数可以快速将某些集合转换为字符串并使用分隔符分隔值?
例如:
List<string> names
- &gt; string names_together = "John, Anna, Monica"
答案 0 :(得分:950)
您可以使用String.Join
。如果您有List<string>
,则可以先致电ToArray
:
List<string> names = new List<string>() { "John", "Anna", "Monica" };
var result = String.Join(", ", names.ToArray());
在.NET 4中,您不再需要ToArray
,因为String.Join
的重载需要IEnumerable<string>
。
答案 1 :(得分:73)
如果您愿意,也可以使用linq执行此操作
var names = new List<string>() { "John", "Anna", "Monica" };
var joinedNames = names.Aggregate((a, b) => a + ", " + b);
虽然我更喜欢Quartermeister的答案中的非linq语法,但我认为Aggregate
可能执行得更慢(可能更多的字符串连接操作)。