天天看点

C#==>关于字符串(string类和StringBuilder类)

1,创建字符串,如果多次创建一个字符串,或者创建一个较长的字符串,String类就会变得效率低下。

     这时候就去要考虑使用StringBuilder类。

     比如对一个较长的字符串反复做做Replace()操作的时候,每次内存都会创建一个新的字符串地址。虽然Replace方法是一种智能化的工作方式,但这样做效率还是很低。虽然内存回收机制会自动回收那些不再被引用的内存,但依然还是要花时间和空间来做处理,而使用StringBuilder类就没有这个问题,StringBuilder类会同一个地址中进行操作,只有在存储空间不足的时候才会自动分配新的内存空间。

2,StringBuilder类在创建的时候,可以通过制定存储单元的最大长度来制定容量(Capacity参数)。

     如果我们没有指定容量,或者当StringBuilder类检测到容量超出的时候,会自动对当前容量翻番,重新设定。

3,我们也可以通过设定StringBuilder类的MaxCapacity属性来对StringBuilder类的容量做限制。

4,StringBuilder类并不总能提高效率,StringBuilder类基本上在处理多个字符串时使用,如果仅仅连接两个字符创这种操作,推荐使用用string类型。

继续阅读