C#揭秘-StringBuilder类(5.2)

StringBuilder类可以直接操作字符串,需要做很多修改字符串内容时,用这个类是最好的解决文案。它与字符串对象不同,不会引发在每一个方法调用上创建一个新对象所带来的开销。

Tips:何时使用StringBuilder而不是string的经验法则?
使用StringBuilder,在初始化时会产生开销,而使用字符串类型,在每一次修改字符串时都会产生开销。在对字符串进行4次处理后应该开始使用StringBuilder。

多数StringBuilder方法与字符串方法相同。下面几个方法为StringBuilder才有的。

  • Append方法:将一个字符串对象添加到了StringBuilder末尾。
    View Code
    1             StringBuilder myStringBuilder;
    2             myStringBuilder = new StringBuilder("Original");
    3 
    4             myStringBuilder.Append("Appended");
    5 
    6             Console.WriteLine("{0}", myStringBuilder);

    结果是:OriginalAppended

  • AppendFormat方法:使用一个格式化字符串来修改实际附加的字符串。
    View Code
    1             StringBuilder myStringBuilder;
    2             myStringBuilder = new StringBuilder("Original");
    3 
    4             myStringBuilder.AppendFormat("{0,9}", "Appended");
    5 
    6             Console.WriteLine("{0}", myStringBuilder);

    使用AppendFormat方法将Appended字符串格式化9个字符,然后将它附加到myStringBuilder上,结果是Original Appended,即两个单词之间多了一个空格,因为Appended被格式化为了9个字符。

  • EnsureCapacity方法:确保StringBuilder将有一个指定的最小容量。
  • ToString()方法:将StringBuilder转换为一个字符串。

    使用StringBuilder时,有可能需要将它所包含的字符串赋值给string,因为它们是不同类型,必须用ToString()方法。

posted @ 2012-04-09 15:35  JessieY  阅读(191)  评论(0编辑  收藏  举报