zoukankan      html  css  js  c++  java
  • 你知道的string和你不知道的string

    1、  字符串的恒定性

    string对象一经创建,它对应的字符序列无法改变(在托管的环境下)

    e.g.

    string a = ‘str_1’;

    string b = a;

    a = “str_2”;

    console.write(a); //str_2

    初看来,string似乎有值类型的特性,但实际上是又创建了一个字符串“str_2”,变量a的指针指向这个新的字符串。

    2、  字符串的驻留性

    clr对string的创建实行驻留机制,clr只会维护具有不同字符串序列的string。即,在程序中使用到具有完全相同字符串序列的string均对应的是同一个string对象,是对同一段内存的引用。不仅仅是基于某个单独的appDomain,而是针对整个进程。

    e.g.

    string a = “str_1”;

    string b = “str_1”;

    response.write(RefrenceEquals(a, b));//true

    3、  string 和 String

    String 的全称是System.String。在底层,两种方式没有区别,不同的是string类似于基元类型,String是框架类库的基本类型

    4、  StringBuilder与string

    StringBuilder维护的是一个字符串数组,实际上可以理解成一个字符串,而不是全部再重新新建一段内存。字符串累加时,最好使用这种方式。

  • 相关阅读:
    性能监控工具之----PerfMon Metrics Collector
    idea 常用设置记录
    springboot 初体验之踩坑篇
    Interleave controller-jmeter
    js怎么判断一个类型是否为数组类型
    加载完成事件
    Jquery-查找
    Dom-增加、删除
    Dom-修改
    Dom-查找
  • 原文地址:https://www.cnblogs.com/smallidea/p/2695490.html
Copyright © 2011-2022 走看看