string类定义字符串常量,长度不可变,StringBuilder定义字符串变量,可自定义长度,这样,当项目中有大量的字符串时,使用StringBuilder要比使用string更节省内存。
创建StringBuilder
StringBuilder myBuilder1 = new StringBuilder();//普通
StringBuilder myBuilder2 = new StringBuilder(6);//容量是6
StringBuilder myBuilder3 = new StringBuilder("1234567");//存入字符串
StringBuilder myBuilder4 = new StringBuilder(6,10);//容量是6,最大容积是10
StringBuilder myBuilder5 = new StringBuilder("1234567",15);//存入字符串,容量是15
StringBuilder myBuilder6 = new StringBuilder("1234567",2,5,15);//从字符串中的索引为2开始读取长度为5,容量是15
StringBuilder的属性
//StringBuilder myBuilder = new StringBuilder();
//Console.WriteLine(myBuilder.Length);
//Console.WriteLine(myBuilder.Capacity);
//Console.WriteLine(myBuilder.MaxCapacity);
StringBuilder的方法
//添加数据
//myBuilder.Append("1234567");
//myBuilder.Append(new int[] { 1, 2, 3, 4, 5, 6, 7 });
//myBuilder.Append(new char[] {'1','2','3'}, 1, 2);//添加数组中索引为1开始,长度为2个
//myBuilder.Append("123456", 2, 4);//添加字符串中索引为2开始,长度为4个
//复制数据
//StringBuilder myBuilder = new StringBuilder("1234567");
//char[] myChar = new char[4];
//myBuilder.CopyTo(1, myChar, 0, 2);//从stringBuilder中索引为1处开始复制2个字符,放入到myChar数组中索引为0的位置
//for (int i = 0; i < myChar.Length; i++)
//{
// Console.WriteLine(myChar[i]);
//}
//插入
//StringBuilder myBuilder = new StringBuilder("1234567");
//myBuilder.Insert(1, "99");//在myBuilder的索引为1的位置插入99字符串
//string str = "123456";
//myBuilder.Insert(1, str, 3);//在myBuilder的索引为1的位置,插入str,插入长度为3
//Console.WriteLine(myBuilder.ToString());
//移除
//StringBuilder myBuilder = new StringBuilder("1234567");
//myBuilder.Remove(0, 2);//从索引0开始移除2个
//Console.WriteLine(myBuilder.ToString());
//替换:
//StringBuilder myBuilder = new StringBuilder("1234567");
//myBuilder.Replace("5", "*");//把字符5换成字符*
//转换为字符串
//StringBuilder myBuilder = new StringBuilder("1234567");
//Console.WriteLine(myBuilder.ToString());