【StringBuilder类】 命名空间为:System.Text;
StringBuilder str2 = new StringBuilder(" ");//声明一个空的stringbuilder类的变量stringbuilder类的常用方法可以在帮助中查看 Append 方法,将文本追加到指定对象的末尾; insert remove replace 等等
StringBuilder str1 = new StringBuilder("(),(),(),2、4、6、7、8"); Console.WriteLine(str1); str1.Remove(0, 9); str1.Insert(0, "(门前大桥下),(游过一群鸭),(快来快来数一数),"); Console.WriteLine(str1); Console.ReadLine();【string类与stringbuilder类的比较】 string类创建对象,改变对象的值,是在堆里面定义了另一个对象,如果无数次改变对象的值,那么就会在堆里面创建无数个对象; stringbuilder类创建一个对象,就可以直接改变这个对象的值,堆里面永远只有这一个对象; 很显然在执行多次操作时,stringbuilder类的效率更高且消耗更小。 举个例子:
string str1 = ""; //声明一个空的string类型变量 long starttime = DateTime.Now.Millisecond; //记录开始时间,毫秒级 for(int i=0;i<10000;i++) { str1 += i; //执行一万次相加操作 } long endtime = DateTime.Now.Millisecond; //记录结束时间 long time = endtime - starttime; Console.WriteLine("string消耗的时间:{0}", time); StringBuilder str2 = new StringBuilder(""); //声明空的stringbuilder类型变量 starttime = DateTime.Now.Millisecond; for(int i=0;i<10000;i++) { str2.Append(i); //使用append方法执行追加操作 } endtime = DateTime.Now.Millisecond; time = endtime - starttime; Console.WriteLine("stringbuilder消耗的时间:{0}", time); Console.ReadLine();结果是: 很显然看出stringbuilder类只消耗了3毫秒。
/仅作为本人学习笔记/