StringBuilder这个类专门处理大量字符串操作的,比如大量字符串的拼接;之前说过string类型的字符串每次创建,拼接都会产生一个新的内存对象,系统虽然有垃圾回收机制,但是赶不上字符串短时间的频繁操作,不仅消耗大量的内存而且效能非常低下,因此当在一个循环中将大量的字符串拼接时,最好使用System.Text. StringBuilder这个类进行操作,先看个例题
低效能的字符串拼接
Stopwatch类在此用于记录拼接所耗时间;由上图可以看出只是30000次的数字类的字符串就耗费了2秒多,一会使用StringBuilder拼接字符串对比下,循环次数不敢设置太大怕死机,自己测试时尽量不要设置次数太多
StringBuilder类的声明及其常用方法
Append() 追加字符串,不带换行,有很多重载,自己试试,不再举例
AppendLine() 追加字符串并换行,如果什么都不写,就只有一个换行
Insert() 插入字符串,有很多重载,不再举例
Replace() 替换字符串中指定的数据
ToString() 将结果转换为字符串
StringBuilder类的方法
StringBuilder类实例化对象时可以设置容量初始大小,如果设置了下面应用时小心超出容量值出现异常,如果没有设置,容量会自动增加;主要是对其中方法的运用,没什么好说的,其他的方法,属性自己试试即可
StringBuilder方法
使用StringBuilder的Append方法进行字符串拼接30W次比之前的3W次消耗的时间还少,所以以后类似这种大量字符串的操作,最好使用StringBuilder类