2008-12-19 48 views
43

作为完全重复的this question关闭。将数组转换为c#中的字符串的最短方法/ LINQ

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

[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函数可以帮助我编写较少的代码?

回答

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

你实际上并不需要的ToArray()...的string.join可以采取一个IEnumerable,并IEnumerable.Select返回一个IEnumerable。 – neminem 2012-09-05 21:33:35

36
String.Join(",", array.Select(o => o.ToString()).ToArray()); 
相关问题