StringBuilder表示可变字符字符串,而String是不可改变的。每次使用System.String类中的方法时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的String对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建信息的对象,则可以使用System.StringBuilder类。例如,当在一个循环中将许多字符串连接在一起时,使用StirngBuilder类可以提升性能。
从上面的描述可以看出string类虽然非常方便,但它带来的负面效果也是比较显著的,尤其是在对其进行频繁的处理操作时。StringBuilder类正好为开发人员解决了此问题。在实际使用StringBuilder和String时,要根据自己程序的实际情况选择合适的类型。例如:当程序中需要大量的对某个字符串进行操作时,应该考虑应用StringBuilder类处理该字符串,其设计母的就是针对大量String操作的一种改进办法,避免产生太多的临时对象。当程序中只是对某个字符串进行一次或几次操作时,采用string类即可。