C# List to string with delimiter

Is there a function in C# to quickly convert some collection to string and separate values with delimiter?

For example:

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

2 Answers

You can use String.Join. If you have a List<string> then you can call ToArray first:

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

In .NET 4 you don't need the ToArray anymore, since there is an overload of String.Join that takes an IEnumerable<string>.

Results:


John, Anna, Monica

0

You can also do this with linq if you'd like

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

Although I prefer the non-linq syntax in Quartermeister's answer and I think Aggregate might perform slower (probably more string concatenation operations).

5

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like