我有一个StringBuilder
对象,我在其中添加一些字符串,如下所示:
我想知道哪种方法更好,第一个是:
StringBuilder sb = new StringBuilder();
sb.Append("Hello" + "How" + "are" + "you");
第二个是:
StringBuilder sb = new StringBuilder();
sb.Append("Hello").Append("How").Append("are").Append("you");
在当前示例中,字符串文字:
"Hello" + "How" + "are" + "you"
将被编译器编译成一个常量字符串文字,因此从技术上讲它比以下内容更快:
sb.Append("Hello").Append("How").Append("are").Append("you");
但是,您是否使用字符串变量:
sb.Append(s1 + s2 + s3 + s4);
那么后者会更快,因为前者可能会创建一系列字符串(因为串联)before将最终的字符串传递到Append
方法,而后者将避免额外的字符串创建(但权衡额外的方法调用和内部缓冲区调整大小)。
Update:为了进一步清楚起见,在这种只有 4 个项目被连接的情况下,编译器将发出对String.Concat(string, string, string, string)
,知道字符串的长度和数量比StringBuilder
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)