什么是更快的性能:使用+运算符构建字符串,&运算符还是通过string.format?

时间:2013-01-04 15:11:43

标签: vb.net string performance

更快的性能是什么:使用+运算符构建字符串,&运算符还是通过string.format?

varname,title,city,state,orgtype是我声明的变量。

e.g:

1

varname = title + " in " + city + ", " + state + ". Contact " + title + ". " + orgtype + " " + city + "."

2

varname = title & " in " & city & ", " & state & ". Contact " & title & ". " & orgtype & " " & city & "."

3

varname = string.format("{0} in {1}, {2}. Contact {0}. {3} {1}.", title, city, state, orgtype)

1 个答案:

答案 0 :(得分:4)

前两个选项编译为相同的IL,是最快的方法。

第三个选项需要在运行时解析字符串以找到{}对,使其变慢。


a + b + c之类的表达式将编译为单个String.Concat(...)调用,而不会浪费任何字符串文字。

唯一一次你应该避免普通的字符串连接是一个循环,编译器不能将它压缩成一个单独的调用。
相反,您应该用LINQ和String.Join替换循环,或者使用StringBuilder