清空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方法比较效率。
此次测试是本人的简单测试,如有不同意见请留言,共同学习探讨!

清空StringBuilder的三种方法及效率的更多相关文章

  1. C#清空StringBuilder的三种方法

    1.Remove例: StringBuilder val = new StringBuilder(); val.Append("...."); val.Remove(0,val.L ...

  2. python字符串连接的三种方法及其效率、适用场景详解

    python字符串连接的方法,一般有以下三种:方法1:直接通过加号(+)操作符连接website=& 39;python& 39;+& 39;tab& 39;+& ...

  3. C++ vector清空元素的三种方法

    #include <iostream> #include <vector> using namespace std; //STL vector的几种清空容器(删除)办法 voi ...

  4. ZH奶酪:JavaScript清空数组的三种方法

    参考链接:http://snandy.iteye.com/blog/893955 方式1,length赋值为0 目前 Prototype中数组的 clear 方法和mootools库中数组的 empt ...

  5. JavaScript清空数组的三种方法

    [文章系摘自网络,看到有用记录在博客,同时共享给大家] 原链接:http://www.2cto.com/kf/201409/335383.html 方式1,splice   var ary = [1, ...

  6. IOS_视图实现圆角效果的三种方法及比较

    通过代码,至少有三种方法可以为视图加上圆角效果.附例子:https://github.com/weipin/RoundedCorner 方法一.layer.cornerRadius 第一种方法最简单, ...

  7. C# 判断字符串为空的4种方法及效率

    在程序开发过程中,少不了要处理字符串,并且常常要判断字符串是否为空,通常有哪些判断方法,以及不同方法的效率又怎么样? 在 C# 中,通常有三种判断字符串是否为空的方法,下面分别探讨. 1.str.Le ...

  8. StringBuilder的三种删除方法比较

    分别用一千万次循环来比较StringBuilder的三种删除方法所用时间 未避免偶然性,再循环一百次来比较总时间 --主类 public class StringBuilderRemove { pub ...

  9. linux清空文件内容的三种方法

    linux系统中清空文件内容的三种方法 1.使用vi/vim命令打开文件后,输入"%d"清空,后保存即可.但当文件内容较大时,处理较慢,命令如下:vim file_name:%d: ...

随机推荐

  1. 【转】Android实现点击两次返回键退出

    在做安卓应用是我们经常要判断用户对返回键的操作,一般为了防止误操作都是在用户连续按下两次返回键的时候提示用户是否退出应用程序. 第一种实现的基本原理就是,当按下BACK键时,会被onKeyDown捕获 ...

  2. log4net日志在app.config中assembly不起作用

    log4net 1.2.15.0日志在app.config中assembly不起作用,必须 1.手动调用方法log4net.Config.XmlConfigurator.Configure()来初始化 ...

  3. WCF 服务调用 QueryRun

    通过AX2012的WCF服务调用AX2012的方法时,如果方法里调用了QueryRun对象时,会报错,报错信息如下:System.ServiceModel.FaultException: 无法将类型为 ...

  4. python学习心得第一章

    初始python 1什么是程序 计算机程序是一组执行某种动作的的指令.和那些电路.芯片.显卡.硬盘等不同,它不是计算机本身可以触摸的部分,而是隐藏在背后运行在硬件上面的东西.程序就是一系列告诉没有知觉 ...

  5. MySQL for Visual Studio Version

    MySQL for Visual Studio Version Connector/Net Version Supported Visual Studio Version Supported MySQ ...

  6. JDBC步骤

    总结JDBC五步骤: 1.Class.forName 加载驱动 2.conn = (Connection) DriverManager.getConnection(url, user, passwor ...

  7. 清空表数据 mysql让主键从1开始

    TRUNCATE TABLE name 删除表中的所有行,而不记录单个行删除操作.

  8. 阿里巴巴Java招聘

    大家好: 我是阿里巴巴B2B的应用架构师,现在大量招聘Java工程师,对自己技术有信心的兄弟姐妹,请联系我吧. 版权声明:本文为博主原创文章,未经博主允许不得转载.

  9. Struts框架——(二)Struts原理with登录实例

    二. Struts基本工作流程 假设现在有以下情景: 用户正在浏览一个用STRUTS的技术构建的网站主页,主页上有个登陆表单,用户填好登陆名和密码,单击"登陆"按钮,就激活了以下一 ...

  10. hdu 1026(Ignatius and the Princess I)BFS

    Ignatius and the Princess I Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...