zoukankan      html  css  js  c++  java
  • 第六章 String类型

    1 构造String类型

    string str1=new string('c',3); //str1="ccc"
    
    char[] chs=new char[]{'c','a','t','o','o','n'};
    string str2=new string(chs);//str2="catoon";
    
    string str3=new string(chs,0,3);//str3="cat";

    2 String类的字段、属性和索引函数

    --String类只有一个静态的公有字段Empty,它表示一个空字符串。下面的布尔表达式值为true:

    string.Empty==""

    --String类只有一个公有属性Length,用来获取字符串的长度,而它的索引函数则用于获取它指定位置的字符。

    --String属于引用类型,空字符串和空引用null是不同的。对空字符串,Length=0;而对值为null的字符串调用Length则会引发异常。

    3 字符操作和子串操作

    3.1 字符操作

    ToCharArray方法

    string str="Microsoft";
    char[] chs1=str.ToCharArray();
    char[] chs2=str.ToCharArray(5,4);
    Console.WriteLine(new string(chs1));//Microsoft
    Console.WriteLine(new string(chs2));//soft

    CopyTo方法

    CopyTo方法的第一个和最后一个参数的含义与ToCharArray方法中的参数相同,第二个参数表示得到的字符数组,而第三个参数指定要拷贝到字数组中的起始位置。

    char[] chs=new char[20];
    "Microsoft".CopyTo(0,chs,0,9);
    "WindowsXP".CopyTo(0,chs,10,7);
    Console.WriteLine(new string(chs));//输出Microsoft windows

    IndexOf和LastIndexOf方法

    查找某个字符第一次和最后一次出现的位置。

    3.2 字符串操作

    IndexOf和LastIndexOf方法,功能同上类似

    Substring方法,截取字串

    Insert方法,插入字串

    Remove方法,删除字串

    StartsWith和EndsWith方法,子串的开始和结束部分是否与指定的字串相等

    Contains方法,字串是否作为了串出现在另一个字符中。

    4 字串的比较与连接

    == Equal(实例方法)

    Compare CompareTo(实例方法)

    + Concat

    5、字符串的格式化

    5.1 字符替换

    ToLower() ToUpper()

    Replace()

    5.2 字符填充

    PadLeft PadRight

    5.3 字符修剪

    Trim()

    Trim(char[])

    5.4 参数格式化

    Format,与Console.WriteLine极为相似

    5.5 解析字符串

    C#语言中,所有类型的基类Object都定义了一个ToString(),用于返回一个描述对象的字符串,默认情况下返回是字符串是类型的完整名称。

    很多类型重载了该方法,各种数值类型的ToString返回的是值

    与ToString方法的过程相反的,从一个字符串构造其它类型的对象的过程,叫解析字符串。

    --方法名称为Parse

    --方法为静态方法,返回类型就是定义该方法的类型

    --方法只有一个类型为String的参数

    int.Parse("123");
    bool.Parse("True");
    DateTime.Parse("2014-11-28");

    有时使用Parse,字符串不符合类型的格式要求,一些类型还提供了TryParse

    TryParse有两个参数,第一个为要解析的字符串,第二为为输出参数

    int i;
    int.TryParse("3.14",out i);//false

    6 StringBuilder类

    6.1 为什么要引入StringBuilder

    String类中提供的绝大多数方法都不是对字符串本身的操作,而是生成新字符串,在内存中留下多个字符串的拷贝,因此对于很长的字符串,或者对于频繁操作的字符串,往往极占用系统资源。因为String对象在本质上是一个常量,创建了之后就不能修改(所以String类的Length属性和索引函数都是不可设置的)。

    6.2 构造StringBuilder对象

    public StringBuilder()
    public StringBuilder(int)
    public StringBuilder(int,int)
    public StringBuilder(string)
    public StringBuilder(string,int)
    public StringBuilder(string,int,int,int)
  • 相关阅读:
    kubeadm init 时从本地私有仓库下载镜像
    Kubernetes 1.6新特性
    kukubeadm 1.6.1 + docker1.2.6 安装问题
    nginx 配置
    使用nginx替换Ingress
    Docker存储方式选型建议
    iptables相关
    kubenetes master使用curl 操作API
    kubernetes 一些基本的概念
    Codeforces Round #161 (Div. 2) D. Cycle in Graph(无向图中找指定长度的简单环)
  • 原文地址:https://www.cnblogs.com/boywg/p/4129342.html
Copyright © 2011-2022 走看看