C# StringBuilder 成员

StringBuilder 类有几个构造函数。例如,可以只提供一个字符串:

var sb = new StringBuilder("Hello");

或者用给定的容量创建一个空的 StringBuilder 类:.

var sb = new StringBuilder(20);

不仅有 Length 和 Capacity 属性外,还有一个只读属性 MaxCapacity,它表示对给定的 StringBuilder 实例的容量限制。在默认情况下,这由 int.MaxValue 给定(大约20亿,如前所述)。但在构造 StringBuilder 对象时,也可以把这个值设置为较低的值:

// This will set the initial capacity to 100, but the max will b 500 .

// Hence, this StringBuilder can never grow to more than 500 characters, 

// otherwise it will raise an exception if you try to do that. 

var sb = new StringBuilder(100,500);  

还可以随时显式地设置容量,但如果把这个值设置为小于字符串的当前长度,或者是超出了最大容量的某个值,就会抛出一个异常:

var sb = new StringBuilder("Hello"); 

sb.Capacity = 100;

StringBuilder 类主要的方法如表1  所示

C# StringBuilder 成员

其中一些方法还有几种重载版本。

注意

AppendFormat()方法实际上会在最终调用 Console.WriteLine()方法时被调用,它负责确定所有像 {0:D} 的格式化表达式应使用什么表达式替代。

不能把 StringBuilder 强制转换为 String(隐式转换和显式转换都不行)。如果要把 StringBuilder的内容输出为 String,唯一的方式就是使用 ToString()方法。