string与StringBuider的区别

       System。String 具备不可修改性,在程序中这样的特性容易产生性能的问题。针对这个问题,。NET提供的SystemBuilder类可以解决类似的问题。

       String类型具有的特点:

  1. String 是引用类型,在堆上分配内存。
  2. String对象一旦形成,就不可改变。
  3. String 提供了大量的便捷的字符串操作函数。
  4. 运算时会产生一个新的实例。
  5. 在程序中定义相等运算符(==和!=),可方便比较String对象的值(而不是引用)

StringBuider 类型具有的特点:

  1.  StringBuider对象是动态对象,允许扩充它所封装的字符串中字符的数量。
  2. StringBuider可以用于修改StringBuider中的内容。

       String对象一旦生成,就不可改变,所以每次使用System。String 类中的方法时,都需要在内存中创建一个新的字符串对象,这就会分配一个新的空间给新的对象。如果不创建新的对象,只是修改字符串,则可以使用StringBuider类。StringBuider 类型可以很好的解决字符串操作的性能问题,在它生成字String 对象之前,将不会产生任何String对象。

      StringBuider 与 System。String 相比,它会保留自己的字符缓冲区。在针对StringBuider执行字符串操作时,会首先检查缓冲区的大小,看是否能容纳新的字符串。如果发现不够,则会增加需要的内存数量,因此可以大幅降低内存配置操作的次数,并可以有效提高性能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章