1.字符串对象一旦创建就不能更改。对字符串进行操作的方法实际会返回新的字符串对象。因此,出于性能方面的考虑,大量连接或其他涉及的字符串操作通过StringBuilder类来执行。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace @string
{
    class Program
    {
        static void Main(string[] args)
        {
            string a = "kehaojian";
            string b = a;
            a = "haojian";
            Console.WriteLine(a);//a的值是haojian,而不是kehaojian
            Console.WriteLine(b);//b的值是kehaojian,而不是haojian
            Console.ReadKey();
        }
    }
}
字符串对象一旦创建就不能更改。这句话不是说他不能修改,而是说初始化后这个值会一直存在,上面的这个例子就是一个很好的说明。a修改后不会影响到b的引用对象。

字符串的Substring方法:第一个参数是从0开始计数的。
string str1="kehao";
string str2="jian"
str1=str1+str2;
Console.Writeline(str1);//结果是kehaojian;
string str1=str1.Substring(2,5);
Console.Writeline(str1);//结果是haoji;

用这个例子也可以说明上面的对字符串进行操作的方法实际会返回新的字符串对象。+连接符会创建一个包含内容的新字符串。那么结果输出的str1会引用创建的新的字符串。同时“kehao”这个字符串还存在,但以后将不再被引用,因为str1现在引用的是kehaojian这个字符串。


2.处理字符串的各种方法基本都包含在system.string和system.text.stringbuilder类中,大体包括下面的操作:
转义处理:解决字符串中的特殊字符问题。
创建新字符串:将对象转换为字符串和合并字符串的方法。
剪切和移除字符。
插入字符串。
比较字符串。
大小写。

 字符串和字符之间的关系。
            string a = "kehaojian";
            char[] arr = a.ToCharArray();
            foreach (char b in arr)
            {
                Console.WriteLine(b);
            }
拆分字符串:
  char a=';';//字符串用双引号,字符用单引号;
  char[] a =new char[]{' '};
            string b = "ke hao jian";
            string[] c = b.Split(a);
            foreach (string d in c)
            {
                Console.WriteLine(d);
            }


3.StringBuilder类的使用:
使用Append来连接多个字符串:
    StringBuilder ke = new StringBuilder("kehaojian", 35);
            ke.Append(",welcome to my home");
            ke.Append("  thank you");
            Console.WriteLine(ke);//输出kehaojian,welcome to my home thank you
         
            Console.ReadKey();
stringbuilder的方法有Append,AppendFormat,Insert,Remove,Replace.

5月6号中