String与StringBuilder的区别

StringBuilder类可以在原来的字符的串上更改字符串内容。而string对象是恒定的,不可改变的,string的所有方法都仅仅是返回一个新的string对象,而原对象不会改变。
StringBuilder的优势是在String要做很多操作时,如大量的替换和串联,这个时候String每一次操作都会产生一个新的String对象,严重影响性能,而StringBuilder可以避免这个问题。也就是说在操作量不大的情况下,StringBuilder反而是没有性能优势的。
string是不能修改的:
  string   str   =   "a";
  str   =   "b";                    //str是被赋值了"b"没错,但是str里面原来的string值"a"并没有被修改。
  string   str   =   "a";
  string   str1   =   str;
  str   +=   "b";           //此时str   =   "ab",str1   =   "a";
  =========================
  StringBuilder   str   =   new   StringBuilder(   "a"   );
  StringBuilder   str1   =   str;
  str.Append(   "b"   );
  //此时str.ToString()和str1.ToString()都是"ab"。

你可能感兴趣的:(.Net)