zoukankan      html  css  js  c++  java
  • C#-string-stringBuilder

    string是一个非常特殊的引用类型,不可被继承,因为它有值类型的很多特征:

    1,imutable(不可变的):一个string定义的字符串,一旦设定,它将不可改变;string类中,没有任何一个可写的类成员,全是只读的;

    2,‘==’比较运算符和值类型设计的一样:比较的是值;

    字符串池:

    在编译时,编译器会设置一个字符串池,每次实例化一个字符串,首先会在字符串池内进行查找:

    1,若有完全相同的字符串,则将其地址赋值给变量

    2,若没有,则实例化这个字符串,并放入字符串池内

    这样可以节省很多的堆空间,尤其当相同字符串非常多的时候;

    string builder:是一个可以实例化的对象:

    1,实例化一个string builder时,会生成一个16的char[]的数组;

    2,若数组不够用,会倍增为32的char[]数组,以此类推,这样好处是减少了新开辟内存生成数组的次数,提高了性能;

    3,直到调用ToString(),将char[]转换为字符串;

    其主要方法有:Append(),Insert(),Replace(),Remove(),Clear();

    主要参数:

    public stringbuilder(int capacity)

    public stringbuilder(string value)

    Value(指定string builder最开始‘装’着的字符串),Capacity(最初的容量设置,也是提升性能的关键);

    如果这篇文章,对你有帮助,请点击关注,我会持续更新......
  • 相关阅读:
    URAL 2014 Zhenya moves from parents 线段树
    git 安装及命令
    在eclipse中执行sql
    在eclipse中配置server和database
    java的regex问题笔记
    在开发中写一些tool来提升自己的效率
    在Eclipse中给JRE-Library添加本地Javadoc
    利用eclipse中的各种功能帮助你理解代码
    Eclipse中直接操作本地文件系统
    form action中如何填写相对目录
  • 原文地址:https://www.cnblogs.com/-GoFurther/p/13738941.html
Copyright © 2011-2022 走看看