string列表到一个string

让我们说你有一个:

List<string> los = new List<string>(); 

在这个疯狂的function世界中,我们生活在这些日子里,其中一个最好的方式是通过连接这些来创build一个string:

 String.Join(String.Empty, los.ToArray()); StringBuilder builder = new StringBuilder(); los.ForEach(s => builder.Append(s)); string disp = los.Aggregate<string>((a, b) => a + b); 

或简单的旧的StringBuilder的foreach

或者,还有更好的方法?

我会selectA:

 String.Join(String.Empty, los.ToArray()); 

我的推理是因为Join方法是为此目的而编写的。 事实上,如果你看reflection,你会看到不安全的代码被用来真正优化它。 另外两个也是有效的,但是我认为Join函数是为了这个目的而编写的,而且我猜测它是最有效率的。 我可能是错的,但…

根据@Nuri YILMAZ没有.ToArray() ,但这是.NET 4 +:

 String.Join(String.Empty, los); 
 string.Concat(los.ToArray()); 

如果你只是想连接string,然后使用string.Concat()而不是string.Join()。

如果您使用.net 4.0,则可以使用分拣机方式:

 String.Join<string>(String.Empty, los); 

String.Join()的实现速度相当快,因为​​你已经有了一个string集合,可能是最好的select。 最重要的是,它喊道:“我正在join一串串!” 总是很好。

我的投票是string.Join

不需要创buildlambda评估和临时函数,更less的函数调用,更less的堆栈推送和popup。

 los.Aggregate((current, next) => current + "," + next);