清空stringBuilder

轉自: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方法比較效率。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章