• 【转】string和stringBuilder性能比较


    时间类:
    using
    System;
    using System.Diagnostics;
    namespace DataStruct7
    {
    publicclass Timing
    {
    TimeSpan duration;
    //时间差
    public Timing()
    {
    duration
    =new TimeSpan(0);
    }
    //开始时间
    publicvoid stopTime()
    {
    duration
    = Process.GetCurrentProcess().TotalProcessorTime;
    }
    //终止时间
    publicvoid startTime()
    {
    GC.Collect();
    GC.WaitForPendingFinalizers();
    }
    //返回结果
    public TimeSpan Result()
    {
    return duration;
    }
    }
    }


    另一个类
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace DataStruct7
    {
    class Program
    {
    staticvoid Main()
    {
    int size =100;
    Timing timeSB
    =new Timing();
    Timing timeST
    =new Timing();

    Console.WriteLine();
    for (int i =0; i <=3; i++)
    {
    timeSB.startTime();
    BuildSB(size);
    timeSB.stopTime();
    timeST.startTime();
    BuildString(size);
    timeST.stopTime();
    Console.WriteLine(
    "时间(单位毫秒)创建 StringBuilder "+"对象有 "+
     size
    +" 字符需要的时间: "+ timeSB.Result().TotalMilliseconds);
    Console.WriteLine(
    "时间(单位毫秒)创建 String "+"对象有"+
    size
    +" 字符需要的时间: "+ timeST.Result().TotalMilliseconds);
    Console.WriteLine();
    size
    *=10;
    }
    }
    //创建StringBuilder连接
    staticvoid BuildSB(int size)
    {
    StringBuilder sbObject
    =new StringBuilder();
    for (int i =0; i <= size; i++)
    sbObject.Append(
    "a");
    }
    //创建string连接
    staticvoid BuildString(int size)
    {
    string stringObject ="";
    for (int i =0; i <= size; i++)
    stringObject
    +="a";
    }
    }
    }
    结果:

  • 相关阅读:
    skywalking监控配置tomcat的参数
    weblogic启动受管理节点
    JavaScript中的数组遍历forEach()与map()方法以及兼容写法
    ajax与HTML5 history pushState/replaceState实例
    mongoose参考手册
    mongoose
    解决ul里最后一个li的margin问题
    前端开发中最常用的JS代码片段
    CSS3精美前端
    60个有用的css代码片段
  • 原文地址:https://www.cnblogs.com/xiaolinshushu/p/3114123.html
Copyright © 2020-2023  润新知