与StringBuilder连接

Hei*_*z K 7 .net c# vb.net

是否有合理的资源使用StringBuilder来连接两个字符串,或者是否存在使StringBuilder高效的最小连接操作?

Gio*_*rgi 6

String.Join是最快的,因为它在一次操作中分配所有必需的内存.请参阅此文章:StringBuilder与.NET 2.0的字符串/快速字符串操作


EFr*_*aim 6

使用StringBuilder连接两个字符串不会给你任何好处,因为结果仍然必须转换为字符串 - 所以直接连接它们是一个分配+两个副本.StringBuilder无法做得更好 - 只会使代码混乱.


Eri*_*ert 6

如果你问这个问题,你可能会决定使用什么技术来获得良好的性能.

如果您正在尝试获得良好的性能,那么您可能拥有一套精心设计的性能测试,这些测试清楚地显示了两种不同技术之间的差异,这些技术是根据一组逼真的,以用户为中心的性能方案来衡量的.

如果你有这样的套房,为什么要问我们?只需两种方式运行它,看看哪一个给你更好的性能!

如果您没有这样的套件,那么通过在互联网上随机询问不了解您的客户,您的代码或您的方案的随机人员,您将无法通过缓慢的应用程序获得良好的性能. 为自己构建一套精心设计的性能测试套件,使您可以测量两种技术之间的差异,并将其与一组切合实际的以用户为中心的性能目标进行比较.

  • @Brian:我注意到声称你知道我的目标是什么以及我是如何努力实现这些目标是相当冒昧的.我并不认为你的目标是什么; 但是我注意到,如果你能以不同的方式回答这个问题,那么**你可以用不同的方式回答这个问题**,而不是根据我的假设动机来分析我的技巧.没有人阻止你! (2认同)