zoukankan      html  css  js  c++  java
  • string和StringBuilder

    值类型是存储在内存中的栈,而引用类型的在栈中存储引用类型变量的地址,其本身存储在堆中。

    在.NET中String是不可改变对象,一旦创建了一个String对象并给它赋值,它就不可能再改变,也就是你不可能改变一个字符串的值

    string创建后分配在栈区,大小不可修改,每次使用string类中的方法时,都要在内存中再创建一个新的字符串对象,然后指向新的对象。
    这样就需要再分配新的空间。所以有可能产生很大的开销。

    StringBuilder对象为动态字符串,可以对其设置好的字符数量进行扩展。另外,还可以设置一个最大长度,这个最大长度称为该StringBuilder对象的容量(Capacity)。

    StringBuilder设置容量的意义在于,当修改StringBuilder字符串时,当其实际字符长度(即字符串已有的字符数量)未达到其容量之前,StringBuilder不会重新分配空间;当达到容量时,StringBuilder会在原空间的基础之上,自动不进行设置,StringBuilder默认初始分配16个字符长度。有两种方式来设置一个StringBuilder对象的容量。

  • 相关阅读:
    js入门 关于js属性及其数据类型(详解)
    js入门关于js‘i++’‘++i’和‘i--’‘--i’计算的问题
    js入门关于函数
    js入门
    Canvas
    SVG
    H5表单属性
    移动式布局之弹性布局day1
    Mysql
    PHP抽象类和接口
  • 原文地址:https://www.cnblogs.com/DSC1991/p/12022220.html
Copyright © 2011-2022 走看看