zoukankan      html  css  js  c++  java
  • 【转】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";
    }
    }
    }
    结果:

  • 相关阅读:
    如何实现序列化为json
    unity中camera摄像头控制详解
    eclipse配置c开发环境
    uml和模式01
    angular2开发01
    微信公众平台开发01
    最新无线网卡驱动安装
    交换ctrl和caps_loack的新方法
    web.xml文件详解
    设计模式中的里氏代换原则
  • 原文地址:https://www.cnblogs.com/xiaolinshushu/p/3114123.html
Copyright © 2011-2022 走看看