• 第六章 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)
  • 相关阅读:
    编程谜题:提升你解决问题的训练场
    同态加密实现数据隐私计算,能让你的小秘密更加秘密
    interviewstreet pair
    x & (x 1)==0
    uva 11991 Easy Problem from Rujia Liu?
    hdoj 1230 火星A+B
    hdoj 1711 KMP Number Sequence
    HackerRank网站,为编码程序员们提供一个以编码谜题和现实生活中遇到的编码难题为基础的新兴的社交平台
    ACM博弈知识汇总
    hdoj 1202 水水更健康
  • 原文地址:https://www.cnblogs.com/boywg/p/4129342.html
Copyright © 2020-2023  润新知