→→将字符串转换为 char类型的字符数组 →→ToCharArray()
→→将字符数组 转换为字符串 →→new string()
→→获得当前字符串中字符的个数 →→Length
→→将字符串同一转为大写 →→ ToUpper()
→→将字符串同一转为小写 →→ ToLower()
→→比较两个字符串 Equals()
→→字符串的分割 Split( )
→→ 判断字符串中是否与含有子串值 bool Contains(string value)
→→ 字符串替换 Replace(string value , new string balue)
→→ 截取字符串 Substring()
→→判断字符串是否以子串value开始 bool StartsWith(string value)
→→判断字符串是否以子串value结束 bool EndsWith(string value)
→→取子串value第一次出现的位置 IndexOf(string value)
→→取子串value第一次出现的位置 LastIndexOf(string value)
→→从当前字符串中移除所有的空格 Trim()
→→从当前字符串中移除前面的空格 Trim.Start()
→→从当前字符串中移除后面的空格 Trim.End()
→→判断字符串是否为空 IsNullorEmpty ()
→→将字符按照指定的分隔符进行连接 string.Join()
练习:


1)字符串的不可变性
当你给一个字符串重新赋值之后,老值并没有销毁。而是重新开辟一块空间存储新值,当程序结束后,GC扫描整个内存,如果发现有的空间没有被指向,则立即把他销毁掉。


2)stringke看做一个char类型的数组,但是是只读的,所以我们可以通过下标去访问字符串中的某一个元素。

→→将字符串转换为 char类型的字符数组 →→ToCharArray()
→→将字符数组 转换为字符串 →→new string()
→→代码如下:


我们可以对比一下两个程序 一个是一直对内存开辟空间,一个是只使用一块内存空间


→→获得当前字符串中字符的个数 →→Length

→→将字符串同一转为大写 →→ ToUpper()
→→将字符串同一转为小写 →→ ToLower()



→比较两个字符串(并且忽略大小写) lessonOne.Equals(lessonTwo,StringComparison.CurrentCultureIgnoreCase)


→→字符串的分割 Split( )



→→ 判断字符串中是否与含有子串值 bool Contains(string value)
→→ 字符串替换 Replace(string value , new string balue)

→→ 截取字符串 Substring()

→→判断字符串是否以子串value开始 bool StartsWith(string value)

→→判断字符串是否以子串value结束 bool EndsWith(string value)

→→取子串value第一次出现的位置 IndexOf(string value)
→→取子串value第一次出现的位置 LastIndexOf(string value)

→→从当前字符串中移除所有的空格 Trim()
→→从当前字符串中移除前面的空格 Trim.Start()
→→从当前字符串中移除后面的空格 Trim.End()

→→判断字符串是否为空 IsNullorEmpty ()

→→将字符按照指定的分隔符进行连接 string.Join()

以上是常用的字符串处理方法
练习:
(1)接收用户输入的字符串,将其中字符以与输入相反的顺序输出:“abc” ->“cba”

(2)hello c sharp -> sharp c hello

(3)从Email中提取出用户名和域名:比如:abc@123.com

(4)输入一段字符找出e的所有位置
