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

  • 相关阅读:
    Linux date自己实现代码
    Linux常用指令
    awk getline命令
    文档资料记录
    数学之美番外篇:平凡而又神奇的贝叶斯方法
    最小二乘法(ZZ)
    SpringMVC简单使用教程
    Oracle设置序列方法
    Bootstrap Table的使用详解
    Html中div块居中显示
  • 原文地址:https://www.cnblogs.com/smallidea/p/2695490.html
Copyright © 2011-2022 走看看