我们都知道串联字符串会导致效率问题,尤其是在循环中。我被教导使用StringBuilder
来防止这些问题。
所以这:
str += someotherstring
变成这样:
StringBuilder sb = new StringBuilder();
sb.AppendLine(someotherstring);
但据我了解,.NET 框架 3.5 及更高版本中的 CLR 足够智能,可以为两种方法输出相同的 IL。那么我是否有理由再在我的团队代码审查中强制执行 stringbuilder 了?
编辑:我认为Servy在评论中一针见血:
在连接编译时已知的多个字符串时就是这种情况。因此,在连接编译时已知的多个字符串时,无需使用 SB。在编译时连接多个未知字符串时,它不能这样做