需要很多次str1+=str2操作,有没有这比+=这方式节省资源的方法呢?

解决方案 »

  1.   

    str1+=str2等价于str1=str1+str2;这是会建立新的字符串对象
    解决办法
    StringBuilder strS=new StringBuilder();
    strS.Append(str1);
    str.Append(str2);
    StringBuilder在System.Text命名空间下
      

  2.   

    String对象用于存储不可改变的字符串,每次使用System.String类中的方法或进行赋值、拼接等运算时,都会在内存中创建一个新的字符串对象,即是为该字符串分配新的内存空间。StringBuilder则不会。
      

  3.   

    当然是StringBuilder啦
    你每次的str1+=str2
    都会为str1在堆内重新申请一块内存~
    而StringBuilder是动态对象,在达到容量之前,它不会为其自己重新分配空间。当达到容量时,将自动分配新的空间且容量翻倍。