个人笔记分享,知识点以及小练习
  字符串的特性:不可变性,每对字符串做拼接或者重新赋值之类的操作,都会在内存中产生一个新的实例。
  所以说,在.Net平台下,如果你对一个字符串进行大量的拼接赋值等操作,会产生大量的垃圾。
  ---->我们可以将字符串看做是char类型的只读数组。
  --->当我们以索引的方式去访问某一个字符串的时候,获得是char类型
  空和null有什么区别,空在内存上开空间了,null没有
  字符串的常用函数
  1、ToCharArray():将一个字符串转换成一个char类型的数组。
  2、new string(char[] chs):根据一个char类型的数组返回一个字符串。
  3、ToUpper():返回字符串的大写形式.
  4、ToLower():返回字符串的小写形式.
  5、Equals(,stringcomprasion......):比较两个字符串是否相等,可以忽略大小写。
  (lessonOne.Equals(lessonTwo,StringComparison.OrdinalIgnoreCase))
  Equal和Tostring都是object下的虚方法,都可以重写
  6、Split():分割字符串,返回字符串类型的数组。
  string[] nerstr=str.Split(new char[] { ' ', ',', '-' }, StringSplitOptions.RemoveEmptyEntries);
  7、Contains():判断字符串中是否包含指定的字符串
  8、Replace():将老字符串替换成新字符串
  9、StartsWith():判断字符串是否以指定的字符串开始
  10、EndsWith():判断字符串是否以指定的字符串结束
  11、Trim():去掉字符串两端的字符。但是,不能去掉字符串中间的字符。
  12、TrimStart():
  13、TrimEnd():
  14、Substring():截取指定的字符串,可以选择截取的长度。
  15、IndexOf():取某一个字符在字符串中第一次出现的位置,如果没有,则返回-1。
  16、LastIndexof():去某一个字符在字符串中后一次出现的位置,如果没有,则返回-1。
  17、静态函数
  --->string.IsNullOrEmpyt()判断指定的字符串是否为空或者为null
  --->string.Join():将指定的分隔符插入数组每个元素的后面,返回一个字符串,默认后一个元素后面没有。
  18:等号和Equals的区别
  对于string类型而言,不管是等号还是Equals比较的都是值本身。
  //Equals默认比较的是地址,但是我们在自己定义的类中如果用到Equals,都会将Equals进行重写,使之按照我们自己的需求进行比较
  拼接字符串
  //string str = string.Empty;
  //StringBuilder sb = new StringBuilder();
  ////00:00:00.1022297
  //Stopwatch sp = new Stopwatch();
  提供一组方法和属性,可用于准确地测量运行时间。
  //sp.Start();
  //for (int i = 0; i < 100000; i++)
  //{
  //    //str += i;
  //    sb.Append(i); //追加
  //}
  //sp.Stop();
  //Console.WriteLine(sp.Elapsed);
  获取当前实例测量得出的总运行时间。Elapsed
  //Console.WriteLine(sb.ToString());
  StringBuilder sb = new StringBuilder();