2015-11-04 110 views
-1

有没有办法让它成为一个班轮?从数字范围创建字符串

List<string> ids = new List<string>(result.Count); 
for(int i = 0; i < result.Count; i++) 
    ids.Add(i.ToString()); 
string reportIds = String.Join(",", ids); 

我敢肯定有一个与LINQ的方式,但我想不出

+0

为什么不''string reportIds = String.Join(“,”,result);'? – haim770

+1

安装resharper,它总是找到一种方法来使事情1线:D – mikus

+1

只是确保如果你没有意思询问ids.Add(result [i] .ToString());然后所有的答案都是错误的,就像你的问题一样:P – mikus

回答

5

string.Join()其实需要IEnumerable<object>在其重载之一,所以没有必要你自己拨打ToString()。这里是完整的单线程使用Enumerable.Range()

var reportIds = string.Join(",", Enumerable.Range(0, result.Count)); 
+0

更多地爱你的答案。我是一个内线的吸盘,> D – CJLopez

4
string reportIds = String.Join(",",Enumerable.Range(0, result.Count)); 
+0

非常感谢! – CJLopez

2
string str = String.Join(",", Enumerable.Range(0, count).Select(n => n.ToString())); 
+0

忘记'Enumerable.Range',谢谢,使用ReSharper这种提示,但我不允许安装它 – CJLopez