结果:
1、Format速度最慢
2、“+”比Format快 5%-8%
3、stringBuilder比“+”快 10%,也就是比“Format”快 15%
测试程序如下:
其中分3次循环,每次的前后打印时间戳。
int i = 0;
var fs = File.Create(@"E://txt速度测试.txt");
var sw = new StreamWriter(fs);
string strTime = System.DateTime.Now.Minute.ToString() + ":" + System.DateTime.Now.Second.ToString() ;
sw.Write("+号连接测试:" + strTime);
sw.WriteLine();
for (i = 0; i < 21885621; i++)
{
string sss = i.ToString() + " " + (i * 3).ToString() + " " + (i * i).ToString() + " " + (i + 1).ToString();
}
strTime = "\n" + System.DateTime.Now.Minute.ToString() + ":" + System.DateTime.Now.Second.ToString() + "\n";
sw.Write(strTime);
sw.WriteLine();
strTime = System.DateTime.Now.Minute.ToString() + ":" + System.DateTime.Now.Second.ToString() + "\n";
sw.Write("Format连接测试:" + strTime);
sw.WriteLine();
for (i = 0; i < 21885621; i++)
{
string sss = string.Format("{0} {1} {2} {3}", i, i * 3, i * i, i + 1);
}
strTime = "\n" + System.DateTime.Now.Minute.ToString() + ":" + System.DateTime.Now.Second.ToString() + "\n";
sw.Write(strTime);
sw.WriteLine();
strTime = System.DateTime.Now.Minute.ToString() + ":" + System.DateTime.Now.Second.ToString() + "\n";
sw.Write("strBuilder连接测试:" + strTime );
sw.WriteLine();
StringBuilder strBuil = new StringBuilder();
for (i = 0; i < 21885621; i++)
{
// strBuil.Clear();
strBuil.Length = 0;
strBuil.Append((i * 1000).ToString()).Append(" ").Append((i * 3).ToString()).Append(
" ").Append((i * i).ToString()).Append(" ").Append((i + 1).ToString());
strBuil.ToString();
}
strTime = "\n" + System.DateTime.Now.Minute.ToString() + ":" + System.DateTime.Now.Second.ToString() + "\n";
sw.Write(strTime);
sw.WriteLine();
sw.Close();
fs.Close();
MessageBox.Show("OK");