StringBuilder是一個(gè)可變的字符序列。此類提供一個(gè)與StringBuffer兼容的API,但不保證同步。該類被設(shè)計(jì)用作 StringBuffer 的一個(gè)簡(jiǎn)易替換,用在字符串緩沖區(qū)被單個(gè)線程使用的時(shí)候(這種情況很普遍)。清空方法有三種:
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;//清空
對(duì)于這三種方法的效率簡(jiǎn)單做了一下測(cè)試,測(cè)了三次求的平均值
測(cè)試方法:
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);
第一種用時(shí)間:366687,第二種用時(shí)間:1186734,第三種用時(shí)間:180010
,可見還是使用length方法比較效率。