协慌网

登录 贡献 社区

C#List <string> 到带分隔符的字符串

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

例如:

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

答案

您可以使用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>的重载。

结果:


约翰 · 安娜 · 莫妮卡

您也可以使用 linq 进行此操作

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

尽管我在 Quartermeister 的答案中更喜欢使用非 linq 语法,并且我认为Aggregate执行速度可能会更慢(可能会执行更多的字符串连接操作)。