C# – Shortest method to convert an array to a string in c#/LINQ


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();
        str += ",";

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

Best Solution

String.Join(",", arr.Select(p=>p.ToString()).ToArray())