基本概念
字符串每次重新赋值或者拼接时都会分配新的内存空间
StringBuilder
是C#提供的一个用于处理字符串的公共类
修改字符串而不创建新的对象,需要频繁修改和拼接的字符串可以使用,可以提升性能,使用前需要引用命名空间
//使用前需要引用命名空间
using System.Text;
StringBuilder str = new StringBuilder("robot");
容量
StringBuilder
有容量的概念,每次往里面增加时,如果超过了容量就会自动扩容
获得容量 Console.WriteLine(str.Capacity);
获得字符长度 Console.WriteLine(str.Length);
增删查改
//增加
str.Append("11");
str.AppendFormat("{0}{1}",1,2)
//插入
//第一个数字是插入的位置
str.Insert(0,"ro");
//删除
//从第0位开始删除1位
str.Remove(0,1);
//清空
str.Clear();
//改
str[0]='A';
//替换
//把r替换成0
str.Replace("r","0")
//重新赋值
str.Clear();
str.Append("ro");
//判断相等
if (str.Equals("robot"))
{Console.WriteLine("相等");
}
目前来看优化内存的方法(一般来说是堆内存的优化)
减少GC
减少new对象
合理使用 static
合理使用 string
和 StringBuilder