775

C# 中是否有一个函数可以快速将某些集合转换为字符串并使用分隔符分隔值?

例如:

List<string> names-->string names_together = "John, Anna, Monica"

4

2 回答 2

1485

您可以使用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>.

结果:


约翰、安娜、莫妮卡

于 2010-08-26T12:30:38.620 回答
118

如果您愿意,也可以使用 linq 执行此操作

var names = new List<string>() { "John", "Anna", "Monica" };
var joinedNames = names.Aggregate((a, b) => a + ", " + b);

虽然我更喜欢 Quartermeister 答案中的非 linq 语法,但我认为Aggregate可能执行得更慢(可能更多的字符串连接操作)。

于 2010-08-26T12:36:09.140 回答