4 c# string performance concatenation
我对我的代码运行了visual studio分析,我发现花了很多时间来连接字符串.是否有更快的连接方式?
string[] infoseperated = info.Split(' ');
for (int iii = totalremove; iii < infoseperated.Length; iii++)
{
newinfo += infoseperated[iii] + " ";
}
Run Code Online (Sandbox Code Playgroud)
Bro*_*ass 12
string.Join改为使用:
newinfo = string.Join(" ", infoseperated.Skip(totalremove));
Run Code Online (Sandbox Code Playgroud)
您当前的方法为每个连接生成一个新字符串(因为字符串是不可变的,您必须重新分配一个新的字符串),这是非常昂贵的.
对于每个连接,现有字符串的所有字符都必须复制到新字符串中,因此此操作的成本随着字符串中字符数的增加而增长 - 这是Schlemiel the Painter的算法
string.Join使用StringBuilder内部避免这种情况.