笔记:字符串相关
字符串常用操作:
1、字符串变量.ToUpper();// 将小写字母变为大写
2、字符串变量.ToLower(); //将大写字母变小写
3、字符串变量1.Equals(字符串变量2); //判断字符串变量1和变量2是否相同,返回bool类型
4、字符串变量.Split(用于分割字符串的字符数组);
5、字符串变量.Substring(开始截取的位置);//从字符串角标为【开始截取的位置】开始截取(包括),截取到最后
字符串变量.Substring(开始截取的位置,截取多长);////从字符串角标为【开始截取的位置】开始截取,截取【截取多长】个字符
6、字符串变量.IndexOf(子字符串);//返回某个字符串在字符串中第一次出现的位置,如果没有找到返回-1
7、字符串变量.LastIndexOf(子字符串); //返回某个字符串在字符串中最后一次出现的位置,如果没有找到返回-1
8、字符串变量.StartsWith(子字符串); //判断字符串是否以【子字符串】开头,返回bool值
9、字符串变量.EndsWith(子字符串); //判断字符串是否以【子字符串】结尾,返回bool值
10、字符串变量.Replace(旧字符串,新字符串); //将字符串中的【旧字符串】替换为【新字符串】,返回一个新的字符串
11、字符串变量.Contains(子字符串); //判断代码中是否包含指定的字符串。如果包含返回真,否则返回假。
12、字符串变量.Trim(); //去掉字符串前后的空格
13、字符串变量.TrimEnd(); //去掉字符串后面的空格
14、字符串变量.TrimStart(); // 去掉字符串前面的空格
15、字符串变量.IsNullOrEmpty(); //判断一个字符串是否为NULL或者空,如果是空或null,返回true。
null是不占内存空间的,而空字符串(“”)会占
PS:Console.Readkey(); //则是等待用户按下任意键,一次读入一个字符。
字符串的特点:
1、字符串是引用类型:
字符串的数据存储在堆空间,在栈空间中存储了该数据的引用地址。
2、字符串是不可变的:
当给一个字符串重新赋值时,会重新开辟一个空间,然后改变引用指向新的空间地址
3、可以看作是自读的字符数组
字符串操作StringBuilder简介
1、字符串的缺点:多次赋值导致内存中产生大量的垃圾数据信息。重复赋值的频率很高导致执行效率降低。
2、StringBuilder简介:StringBuilder是一个类。StringBuilder类型的变量是引用类型。StringBuilder类型的“字符串变量”, 一直操作同一块内存空间,不会产生垃圾数据,且执行效率远远高于string类型的字符串变量。
StringBuilder使用方法
1、创建StringBuilder类型的变量
StringBuilder sb = new StringBuilder(); //创建一个对象。
注意: StringBuilder依赖System.Text命名空间。
2、往stringbuilder中追加数据
sb.Append(i); //追加数据。(原来数据保留,在原有数据末尾添加新数据)
sb.ToString(); //将sb转成字符串形式。
3、清空stringbuilder中的数据
sb.Clear(); //将sb清空
StringBuilder效率测试
1、Stopwatch类:秒表计时器,用来记录程序运行的时间。
Stopwatch依赖System.Diagonstics 命名空间。
2、创建Stopwatch类型对象
Stopwatch sw = new Stopwatch();
sw.Start(); //计时器开始。
sw.Stop(); //计时器结束。
sw.Elapsed; //开始到结束之间的时长。
3、效率测试
使用for循环分别往string和StringBuilder中追加5万个信息,统计时长。