我有一个语句,其中以下列方式分配字符串:
for (int i = 0; i < x; i++)
{
Foo.MyStringProperty = "Bar_" + i.ToString();
/* ... */
}
Run Code Online (Sandbox Code Playgroud)
是否有任何之间的性能差异i.ToString()或只是简单的i,因为两者都只是转换了(文化不变?)等效字符串?
我很清楚的存在String.Concat(),String.Format,StringBuilder,等,但对于这种情况下的缘故,让我们假设我才可以使用+串联.
提前致谢.
Jon*_*eet 24
+String.Concat无论如何都要使用连接- String它本身不会暴露一个+运算符.
例如:
int i = 10;
string x = "hello" + i;
Run Code Online (Sandbox Code Playgroud)
编译成:
int i = 10;
object o1 = "hello";
object o2 = i; // Note boxing
string x = string.Concat(o1, o2);
Run Code Online (Sandbox Code Playgroud)
而ToString直接呼叫将避免拳击并调用Concat(string, string)过载.因此,带有ToString调用的版本会稍微提高效率 - 但我非常怀疑它是否会很重要,我强烈建议您使用您认为更具可读性的版本.
| 归档时间: |
|
| 查看次数: |
3759 次 |
| 最近记录: |