首页 资讯 财经 股市 证券 金融 消费 设为首页
您现在所在的位置:首页 / 国际市场 / 正文
stringbuilder清空有三种方法效率对比分析助你高效运行
来源:
2024-09-09

       StringBuilder是一个可变的字符序列。此类提供一个与StringBuffer兼容的API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。清空方法有三种:


       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方法比较效率。

CopyRight@2010-2023 中金网 All Right Reserved

工信备案号:沪ICP备 2021001869号