今天突然想到StringBuilder在连接很多个字符串时速度很快,但是连接几个字符串时效果如何呢.
做了个测试:
连接多个字符串:
StringBuilder :
System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();
sw.Start();
for (int i = 0; i < 1000000; i++)
{
System.Text.StringBuilder str = new System.Text.StringBuilder();
for (int j = 0; j < 3; j++)
{
str.Append(i.ToString());
}
str.ToString();
}
sw.Stop();
Response.Write(sw.ElapsedMilliseconds);
sw.Start();
for (int i = 0; i < 1000000; i++)
{
System.Text.StringBuilder str = new System.Text.StringBuilder();
for (int j = 0; j < 3; j++)
{
str.Append(i.ToString());
}
str.ToString();
}
sw.Stop();
Response.Write(sw.ElapsedMilliseconds);
String:
System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();
sw.Start();
for (int i = 0; i < 1000000; i++)
{
string str = string.Empty;
for (int j = 0; j < 3; j++)
{
str += j.ToString();
}
}
sw.Stop();
Response.Write(sw.ElapsedMilliseconds); 测试结果 String比StringBuilder快
当我把 for (int j = 0; j < 3; j++)改成 for (int j = 0; j < 100; j++)时
String比StringBuilder慢
也不知道是否准确
本文通过实验对比了使用 StringBuilder 和 String 进行字符串连接的性能差异。当连接少量字符串时,String 方法表现更优;而当连接大量字符串时,StringBuilder 显示出了其优势。
4469

被折叠的 条评论
为什么被折叠?



