C#基础加强--字符串

1、字符串的定义:string <name>;

<name> = <value>;

或者: string <name> = <value>;

字符串是引用类型,在定义string <name>;的时候在栈空间中,定义了一个<name>的空间,该空间存放一个地址;当写到<name> = "hello";的时候,会在堆内存中分配一个空间,存放字符串“Hello”,并将首地址赋值给<name>,因此<name>指向定义的字符串。

2、字符串的声明:

字符串string对应MSIL(CTS)中的String,实际上是一个类。string <name> = new String(); 或者 string <name> = new String(new char[]{...});

注意:这里String 与 string 得到的效果一样;

字符串是不可变的,在内存中字符串一旦生成,将不会改变,即使之前使用的str1 + str2也只是生成了另一个字符串。那怎么修改字符串?

<strName>.ToCharArray();该方法会将字符串,变成一个char类型的数组,因此需要用一个char类型的数组接收。

如:修改一个字符串里面的内容 char[] ch = <strName>.ToCharArray();// 处理字符数组,完成修改目的

<strName> = new String(ch) // 为修改后的字符串

3、字符串可以用索引访问:

字符串,原本就是排在一起的字符,c#提供了用“下标”(索引)来访问字符串中的字符。 string str = "jiangkun"; 字符串有 Length属性,用str.Length 可以获得str字符串的长度。

char temp = str[5];//访问str字符串中的第五个字符,并赋值给字符变量temp

4、字符串常用属性:

     string.Empty//Empty 为空字符串

     string.IsNullOrEmpty(str)  //判断str字符串是否为null或者为空字符串

5、常见的字符串的方法:

     字符串转换大小写(字符)

      string <strName>.ToUpper();

      string <strName>.ToLower();

     移除首尾制定字符

      string <strName>.Trim();//移除首尾空格

      string <strName>.TrimStart();//移除开头的空格

      string <strName>.TrimEnd();//移除结尾处空格

      string <strName>.Trim(char[] ch);//char数组中为要移除的内容

     字符串的比较

      int string.Compare(String str1, string str2);//按照字典排序比较

      当 str1 > str2 时,返回 1;

      当 str1 = str2 时,返回 0;

      当 str1 < str2 时,返回-1;

      int string.Compare(string str1,string str2,bool ignoreCase)//ignoreCase表示是否区分大小写。true为不区分大小写,默认为false

      bool <strName>.Equals(string str) //str1 == str2 则返回true,否则返回false;

      bool <strName>.Equals(string str,StringComparison.OrdinalIgnoreCase)//StringComparison.OrdinalIgnoreCase为比较是不区分大小写

      如果仅仅是比较两个字符串是否相等,还是使用“==”比较简单。 bool isEqual = str1.ToLower()==str2.ToLower();//不考虑大小写

     字符串的合并

     string string.Join(string str,string[] strArr);//将数组strArr中的内容拼接成一个字符串,并在对应数组的每两项间添加分隔符str

     字符串的分割

      string[] <strName>.Split(params char[] separator);//将字符串<strName>以separator数组中的字符分割,分割后得到的内容存到个数组中

      string[] <strName>.Split(params char[] separator,StringSplitOptions.RemoveEmptyEntries);//去掉返回的数组中可能存在的空字符串

     字符串查找

      bool <strName>.Contains(string str);表示字符串<strName>中是否包含str,如果包含,返回true,否则返回false

      int <strName>.IndexOf(string str)//从头开始,出现第一次的下标,从左到右执行查找

      int <strName>.IndexOf(string str,int startIndex);//从startIndex开始,出现第一次的下标,如果没有找到则返回-1

      int <strName>.LastIndexOf(string str[,int startIndex]);返回字符str在<strName>中最后一次出现的位置,从右到左执行查找

      int <strName>.IndexOfAny(char[] anyOf,int startIndex)//寻找字符数组中的所有内容,返回第一个的位置

     求字符串

     string <strName>.Substring(int startIndex,int length)//从字符串<strName>的startIndex位置开始提取长度为length的字符串,如果省略了length,则表示一直到最后

     字符串插入

     string  <strName>.Insert(int index,string str)//在<strName>的index位置上插入str.原来的字符一次后移,变成一个新的字符串

     字符串移除

      string <strName>.Remove(int startIndex,int length)//在字符串<strName>中移除startIndex开始,长度为length的字符串,剩下的字符按原序合并为一个新的字符串,如果省略了length,则表示移除startIndex 后的所有字符

      字符串替换

      string <strName>.Replace(char oldChar,char newChar)  //字符替换

      string <strName>.Replace(string oldString,string newString)//字符串替换

      判断字符串的结束与开始

      bool <strName>.StartWith(string str);//判断<strName>是否以字符串str开始的

      bool <strName>.EndWith(string str);//判断<strName>是否以字符串str的结束的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值