清空StringBuilder的三种方法及效率-飞外

大家知道对于字符串频繁拼接是使用stringbuilder.Append方法比使用string+=方法效率高很多,但有时需要清空stringbuilder时却不知道怎么清空,因为它没有clear或empty的方法。那用什么方法呢?在网上搜了一下大概一下三种方法。1、Remove StringBuilder val = new StringBuilder(); val.Append("...."); val.Remove(0,val.Length);//清空2、Replace StringBuilder val = new StringBuilder(); val.Append("...."); val.Replace(val.ToString(), "");//清空3、Length StringBuilder val = new StringBuilder(); val.Append("...."); val.Length = 0;//清空对于这三种方法的效率简单做了一下测试,测了三次求的平均值测试方法: DateTime dt = DateTime.Now; const int testNum = 1000000; StringBuilder strbuilder = new StringBuilder(); for (int i = 0; i testNum; i++) { strbuilder.Append("test"); strbuilder.Remove(0,strbuilder.Length); } Console.WriteLine("Rsemove:"+(DateTime.Now - dt).Ticks);第一种用时间:366687第二种用时间:1186734第三种用时间:180010可见还是使用length方法比较效率。此次测试是本人的简单测试,如有不同意见请留言,共同学习探讨!