Vol*_*rix 5 c# string-concatenation string-formatting
试图确定使用string.Format代替串联字符串是否是更好的做法,如果是这样,为什么会这样?另外,我应该注意哪些是他们的优点/缺点?
这个:
string foo = "I" + " am " + " a " + " string.";
Run Code Online (Sandbox Code Playgroud)
要么:
string bar = string.Format("{0} am a {1}.", "I", "string");
Run Code Online (Sandbox Code Playgroud)
显然过于简单的例子,只是想明确.
假设第一个方法在编译时没有优化,因为字符串是不可变的,它将创建许多中间字符串。它将从左到右工作,因此首先会出现“我是”,然后是“我是一个”,最后是“我是一个字符串”。它存储在 foo.
String.format 不会生成中间字符串。据我了解,它在 a 中完成所有操作,char[]然后通过将其设置为字符串使其不可变。
| 归档时间: |
|
| 查看次数: |
4451 次 |
| 最近记录: |