1.字符串的三大特性:
1),不可变性(字符串本身不会改变,变的只是副本)
字符串常量不可变,只在内容中重新生成空间,将变量指向新生成的内容
ToLower() 小写,必须接收返回值。(因为:字符串的不可变);
ToUpper() 大写。
实例:1.string str="abcd";
str.ToUpper(); //需要有返回值来接
Console.Write(str); //输出的是abcd
str=str.ToUpper();
Console.Write(str); //ABCD改变的是str的副本
2.交换两个变量的值 建立新的空字符变量
2),字符串池(同样遵循字符串的不可变性)
// 地址相同
string name="张飒";
string name1="张飒";
if(object.ReferenceEquals(name,name1))
{
//Equals判断的是两个对象的内容是否相同
Console.Write("判断name和name1是否是同一个地址");
}
3),字符的留用(intern,Isinterned)判断两个变量的值是否相同
2.字符串常用的属性和方法
IsNullOrEmpty() 静态方法,判断为null或者为””
ToCharArray() 将string转换为char[]
IndexOf() 如果没有找到对应的数据,返回-1.//面试题:统计一个字符串中,”天安门”出现的次数。
LastIndexOf() 如果没有找到对应的数据,返回-1
Substring() //2个重载,截取字符串。
Split() //分割字符串,可以是多个分割符。
Replace() Replace(@ """"," ")去掉双引号{Replace("\""," ")}
Join()静态方法
string line = "123-456---7---89-----123----2";
//为什么会产生这么多空字符串春?就是因为很多的"-”都被转换成空字符串放到数组元素中了。
string[] strs = line.Split(new char[]{'-'},StringSplitOptions.RemoveEmptyEntries);
line= string.Join("-", strs);
Console.WriteLine(line);
Console.ReadKey();