• 艾伟_转载:string类与StringBuilder类性能比较 狼人:


    我们都知道StringBuilder的性能要比string类,是否具体测试过呢,我这里就给出这个程序供测试,一个是Timing类,用来计算时间的。另外一个类就是分别建立string,和stringbuider 类建立100,1000,10000,100000字符连接进行比较。

    using System;
    using System.Diagnostics;
    namespace DataStruct7
    {
    public class Timing
    {
    TimeSpan duration;
    //时间差
    public Timing()
    {
    duration
    = new TimeSpan(0);
    }
    //开始时间
    public void stopTime()
    {
    duration
    = Process.GetCurrentProcess().TotalProcessorTime;
    }
    //终止时间
    public void 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
    {
    static void 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连接
    static void BuildSB(int size)
    {
    StringBuilder sbObject
    = new StringBuilder();
    for (int i = 0; i <= size; i++)
    sbObject.Append(
    "a");
    }
    //创建string连接
    static void BuildString(int size)
    {
    string stringObject = "";
    for (int i = 0; i <= size; i++)
    stringObject
    += "a";
    }
    }
    }
  • 相关阅读:
    电容的用法:去耦、旁路、滤波等
    成为出色工程师的十大要素
    常用三极管的区别 9012 9013 9014 9015 8550 8050
    照明的几个光学概念
    PCB元件封装
    为什么诈骗短信看上去那么弱智
    摄像·镜头
    LED家居照明
    光色的应用与照度范围
    PowerPCB(PADS)常见问题全集
  • 原文地址:https://www.cnblogs.com/waw/p/2157058.html
Copyright © 2020-2023  润新知