C# List to string with delimiter将 C# List 转换成带分隔符的字符串

13 浏览
0 Comments

C# List to string with delimiter将 C# List 转换成带分隔符的字符串

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

例如:

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

admin 更改状态以发布 2023年5月22日
0
0 Comments

你也可以使用LINQ来实现这个功能,如果你喜欢的话。

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

虽然我更喜欢 Quartermeister 给出的非 LINQ 语法,而且我认为 Aggregate 的性能可能较慢(可能会有更多的字符串连接操作)。

0
0 Comments

你可以使用String.Join。 如果您有一个List,那么可以先调用ToArray

List names = new List() { "John", "Anna", "Monica" };
var result = String.Join(", ", names.ToArray());

在.NET 4中,您不再需要使用ToArray,因为有一个重载的String.Join可以接受IEnumerable

在较新版本的.NET中,不同的String.Join重载使用不同的方法来生成结果。这可能会影响您代码的性能。

例如,那些接受IEnumerable的方法在底层使用StringBuilder。而接受数组的方法则使用针对数组和指针进行了严格优化的实现。

结果:

John, Anna, Monica

0