更快的性能是什么:使用+运算符构建字符串,&运算符还是通过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)
答案 0 :(得分:4)
前两个选项编译为相同的IL,是最快的方法。
第三个选项需要在运行时解析字符串以找到{}
对,使其变慢。
a + b + c
之类的表达式将编译为单个String.Concat(...)
调用,而不会浪费任何字符串文字。
唯一一次你应该避免普通的字符串连接是一个循环,编译器不能将它压缩成一个单独的调用。
相反,您应该用LINQ和String.Join
替换循环,或者使用StringBuilder
。