wlmemail
最近评论
文章分类
    收藏
      相册
      存档
      软件项目交易
      订阅我的博客
      XML聚合  FeedSky
      订阅到鲜果
      订阅到Google
      订阅到抓虾
      订阅到BlogLines
      订阅到Yahoo
      订阅到GouGou
      订阅到飞鸽
      订阅到Rojo
      订阅到newsgator
      订阅到netvibes

      转载 StringBuilder收藏

      新一篇: asp.net cookie | 

       如果要操作一个不断增长的字符串,请你不要再用String类了。为什么涕淌要这样说呢?我们来看看两个类的工作原理。

      String类是一种传统的修改字符串的方式,它确实可以完成把一个字符串添加到另一个字符串上的工作没错。但是在.NET框架下,这个操作实在是划不来。因为系统先是把两个字符串写入内存,接着删除原来的String对象,然后创建一个String对象,并读取内存中的数据赋给该对象。这一来二去的,耗了不少时间。

      而使用System.Text命名空间下面的StringBuilder类就不是这样了,它提供的Append方法,能够在已有对象的原地进行字符串的修改,简单而且直接。

      当然,一般情况下你是觉察不出这二者效率的差异的,但如果你要对某个字符串进行大量的添加操作,那么用StringBuilder类所耗费的时间和String类简直不是一个数量级的。下面是一个例子,你自己试一试:

      Imports System
      Imports System.Text

      Namespace StringBuilderSample

          Class clsStrBuilder

              Shared Sub Main()
                  Dim i As Integer
                  Dim startTime As DateTime
                  Dim stopTime As DateTime

                  '用String类来连接字符串
                  Console.WriteLine("String类")
                  Dim str As String = String.Empty
                  startTime = DateTime.Now
                  Console.WriteLine(("开始时间:" & startTime.ToString()))
                  For i = 0 To 99999
                      str &= i.ToString()
                  Next i
                  stopTime = DateTime.Now
                  Console.WriteLine(("结束时间:" & stopTime.ToString()))

                  '用StringBuilder类来连接字符串
                  Console.WriteLine("StringBuilder类")
                  Dim builder As New StringBuilder()
                  startTime = DateTime.Now
                  Console.WriteLine(("开始时间:" & startTime.ToString()))
                  For i = 0 To 99999
                      builder.Append(i.ToString())
                  Next i
                  stopTime = DateTime.Now
                  Console.WriteLine(("结束时间:" & stopTime.ToString()))
              End Sub

          End Class

      End Namespace

       

      发表于 @ 2006年08月18日 23:46:00|评论(loading...)|编辑

      新一篇: asp.net cookie | 

      评论:没有评论。

      发表评论  


      当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
      Csdn Blog version 3.1a
      Copyright © wlmemail