网站链接: 我爱捣鼓
当前位置: 首页 > web开发  > Asp.net/C#

C#中StringBuilder和String函数什么时候使用更适合?

2021/3/1 21:09:09

String 在进行运算时(如赋值、拼接等)会产生一个新的实例,而 StringBuilder 则不会。 所以在大量字符串拼接或频繁对某一字符串进行操作时最好使用 StringBuilder,不要使用 String,如果要操作一个不断增长的字符串,尽量不用String类,改用StringBuilder类。两个类的…

  • String 在进行运算时(如赋值、拼接等)会产生一个新的实例,而 StringBuilder 则不会。

    所以在大量字符串拼接或频繁对某一字符串进行操作时最好使用 StringBuilder,不要使用 String,如果要操作一个不断增长的字符串,尽量不用String类,改用StringBuilder类。

  • 两个类的工作原理不同:

    String类是一种传统的修改字符串的方式,它确实可以完成把一个字符串添加到另一个字符串上的工作没错。

       但是在.NET框架下,这个操作实在是划不来。因为系统先是把两个字符串写入内存,接着删除原来的String对象,然后创建一个String对象,并读取内存中的数据赋给该对象。这一来二去的,耗了不少时间。

        而使用System.Text命名空间下面的StringBuilder类就不是这样了,它提供的Append方法,能够在已有对象的原地进行字符串的修改,简单而且直接。当然,一般情况下觉察不到这二者效率的差异,但如果你要对某个字符串进行大量的添加操作,那么StringBuilder类所耗费的时间和String类简直不是一个数量级的


上一篇:没有了

下一篇:C#针对String位数不足前面补零的几个方法

相关资讯

  • C#怎么获取文件夹里所有的图片文件?

    在实际的程序开发中,我们经常需要获取某个文件夹下的所有图片,用到了C#的DirectoryInfo、GetFiles等文件操作方法,具体实现如下://自定义一个结构public struct sFileInfo{ public string FileName; public DateTime FileCreateTime;}protected void Page_Load(…

    2021/3/4 21:48:01
  • c#实现日期时间与unix时间戳互相转换

    为什么使用时间戳?关于Unix时间戳,大概是这个意思,从1970年0时0分0秒开始到现在的秒数.使用它来获得的是一个INT值,储存在数据库里只要使用INT格式就可以了,方便数据库进行排序,搜索,而且比datetime格式更节省数据库空间。 /// <summary> /// Uni…

    2021/3/4 21:40:22