轉自:https://www.cnblogs.com/SpiderKevin/p/3891425.html
字符串頻繁拼接是使用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方法比較效率。