在c#/ LINQ中将数组转换为字符串的最短方法

时间:2008-12-19 11:17:20

标签: c# linq arrays

作为this question的完全副本关闭。

我有一个数组/元素列表。我想将其转换为字符串,由自定义分隔符分隔。例如:

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

在c#中执行此操作的最短/最简单方法是什么?

我总是通过循环列表并在添加分隔符之前检查当前元素是否不是最后一个元素来完成此操作。

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

是否有LINQ函数可以帮助我编写更少的代码?

2 个答案:

答案 0 :(得分:143)

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

答案 1 :(得分:39)

String.Join(",", array.Select(o => o.ToString()).ToArray());