和别人打赌的,今晚测试。只有代码和截图
![ContractedBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
class
Program
{
static void Main( string [] args)
{
Stopwatch watch = new Stopwatch();
watch.Reset();
watch.Start();
StrBuilderWithInitialLength();
watch.Stop();
Console.WriteLine(watch.ElapsedMilliseconds);
watch.Reset();
watch.Start();
StrBuilderWithoutInitialLength();
watch.Stop();
Console.WriteLine(watch.ElapsedMilliseconds);
}
static void StrBuilderWithInitialLength()
{
StringBuilder sb = new StringBuilder( 80000000 );
for ( int i = 0 ; i < 40000000 ; i ++ )
{
sb.Append( " 12 " );
}
}
static void StrBuilderWithoutInitialLength()
{
StringBuilder sb = new StringBuilder();
for ( int i = 0 ; i < 40000000 ; i ++ )
{
sb.Append( " 12 " );
}
}
}
{
static void Main( string [] args)
{
Stopwatch watch = new Stopwatch();
watch.Reset();
watch.Start();
StrBuilderWithInitialLength();
watch.Stop();
Console.WriteLine(watch.ElapsedMilliseconds);
watch.Reset();
watch.Start();
StrBuilderWithoutInitialLength();
watch.Stop();
Console.WriteLine(watch.ElapsedMilliseconds);
}
static void StrBuilderWithInitialLength()
{
StringBuilder sb = new StringBuilder( 80000000 );
for ( int i = 0 ; i < 40000000 ; i ++ )
{
sb.Append( " 12 " );
}
}
static void StrBuilderWithoutInitialLength()
{
StringBuilder sb = new StringBuilder();
for ( int i = 0 ; i < 40000000 ; i ++ )
{
sb.Append( " 12 " );
}
}
}
运行时间截图: