同时可以指定该对象的最大容量为 25

时间:2021-08-09 07:14:55

普通的string不成变,除非用+ 但是+两个字符串后 会生成一个新的string实例。会在内存中创建新的字符串东西。如果反复的对字符串改削,将极大的增加内存开销。c#供给了个可变的字符串序列StringBuilder类。大大的提高了频繁增加字符串的效率

 

结构要领

  StringBuilder MyStringBuilder = new StringBuilder("Hello World!");

  

(一)设置容量和长度

  虽然 StringBuilder 东西是动态东西,允许扩充它所封装的字符串中字符的数量,但是您可以为它可容纳的最大字符数指定一个值。此值称为该东西的容量,不应将它与当前 StringBuilder 东西容纳的字符串长度混淆在一起。例如,,可以创建 StringBuilder 类的带有字符串“Hello”(长度为 5)的一个新实例,同时可以指定该东西的最大容量为 25。当改削 StringBuilder 时,在到达容量之前,它不会为其本身从头分配空间。当到达容量时,将自动分配新的空间且容量翻倍。可以使用重载的结构函数之一来指定 StringBuilder 类的容量。以下代码示例指定可以将 MyStringBuilder 东西扩充到最大 25 个空白。

StringBuilder MyStringBuilder = new StringBuilder("Hello World!", 25);

  

 

此外,可以使用读/写 Capacity 属性来设置东西的最大长度。以下代码示例使用 Capacity 属性来界说东西的最大长度。

MyStringBuilder.Capacity = 25;

  

 

常用函数

append 将文本字符串追加到指定东西末尾 appendFormat 自界说变量的格局并将这些?追加到stringbuilder末尾 insert 将字符串或东西添加到string builder指定位置 remove 从当前stringbuilder东西中移除指定数量的字符 replace 用另一个指定的字符串来替换stringbuilder 东西内的字符

  

 

 

例子:

int n = 100; StringBuilder a = new StringBuilder("用一生下载你",100); Console.WriteLine(a); a.Append("vs 世界"); Console.WriteLine(a); a.AppendFormat("{0}:c",n); Console.WriteLine(a); a.Insert(0,"名称:"); Console.WriteLine(a); a.Remove(15,a.Length-15); Console.WriteLine(a); a.WordStr("名称","一生所爱"); Console.WriteLine(a);