tags:

views:

2009

answers:

2

Closed as exact duplicate of this question.

I have an array/list of elements. I want to convert it to a string, separated by a custom delimitator. For example:

[1,2,3,4,5] => "1,2,3,4,5"

What's the shortest/esiest way to do this in c#?

I have always done this by cycling the list and checking if the current element is not the last one before adding the separator.

for(int i=0; i<arr.Length; ++i)
{
    str += arr[i].ToString();
    if(i<arr.Length)
        str += ",";
}

Is there a LINQ function that can help me write less code?

+18  A: 
String.Join(",", arr.Select(p=>p.ToString()).ToArray())
Mehrdad Afshari
+1 for being 29s faster ;-)
David Schmitt
wow, that was fast! Thanks!
Loris
+7  A: 
String.Join(",", array.Select(o => o.ToString()).ToArray());
David Schmitt