zoukankan      html  css  js  c++  java
  • CLR笔记:11.字符串

    11.1    字符
    Char,16位Unicode代码值
            两个常量字段,Char.MinValue:定义为'\0';Char.MaxValue:定义为'\uffff';
        
            Char.GetUnicodeCategory()方法,返回字符类型(货币/标点/数学符号等等)

        Char与Int32的相互转型:
            
    11.2    字符串
    只能是String s = "Jax";,而不能使用new来建立字符串
        以上语句,在IL中,并没有newobj,而是ldstr:因为字符串是一个常量,不可更改immutable

        可以使用+操作符连接几个字符串,在编译时就会连接,生成一个字符串常量。避免在运行期连接——这时候使用StringBuilder
        逐字字符串verbatim strings,即@"XXX"

        使用String.Compare()或String.Equals()比较字符串

        比较前使用ToUpper()而不是ToLower,因为前者性能好于后者

        字符串留用,就是一个字符串仓库,一般不用这个技术:System.Intern()


    11.3    StringBuilder
    StringBuilder内部有一个Char数组的字段,我们操纵的就是这个字段,此外还有一个ToString()方法,返回由字符数组组成的字符串。
    超过容量就会分配更大的数组,复制字符,使用这个新数组,前一个数组会被垃圾收集


    11.5    解析字符串来获取一个对象
    静态Parse()方法,获取String参数,返回相应的实例——这是一个工厂
    FCL中,所有数值类型/DateTime/TimeSpan都提供了Parse方法,如:
    Int32 x = Int32.Parse("123");


  • 相关阅读:
    (设计模式)组合模式
    redis 集群部署 (linux)
    redis 集群 配置文件
    redis 外部访问配置(bind正确配置)
    (设计模式)桥模式
    (springboot)freemarker(二)
    (springboot)入门(一)
    (设计模式)抽象工厂
    (设计模式)建造者模式
    (设计模式)原型
  • 原文地址:https://www.cnblogs.com/Jax/p/912660.html
Copyright © 2011-2022 走看看