首页 > c# > string类与StringBuilder类性能比较

string类与StringBuilder类性能比较

2009年10月31日 云飞扬 发表评论 阅读评论

我们都知道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";
        }

    }
}

原创文章转载请注明出处:云飞扬IT的blog

本文链接: http://www.ajaxcn.net/archives/499

一键分享到:新浪微博分享  分享到网易微博    转贴到开心网  推荐到豆瓣  分享到QQ空间    RSS订阅
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.

key office 2010

office 2010 key

corel dvd moviefactory 6

corel dvd moviefactory 6 downloads

serial corel draw 11

serial corel draw 11 serials

windows 7 key

windows 7 key

office 2010 professional key

office 2010 key

windows key

windows key

free winrar download for xp

download winrar for xp for free

winrar password cracker serial

wirar password cracker

cs5 serialz

cs5 serialz free

photoshop key

photoshop key

free corel photoshop download

free corel photoshop download keygen

photo shop key

photo shop key

download photo shop free

photo shop serial

serial winzip 11

serial winzip 11 key

adobe free

adobe free

windows 7 free

windows 7 crack

winrar 3 download

winrar 3 download freedownload

office 2010 free

office 2010 key

free corel downloads

free corel downloads cracked