String对象是不可改变的。每次使用 System.String类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的 String对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用System.Text.StringBuilder类。例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder类可以提升性能。
创建Stringbuilder对象
StringBuilder str= new StringBuilder();
StringBuilder MyStringBuilder = new StringBuilder("Your total is ");
Append 连接方法
StringBuilder str= new StringBuilder();
MyStringBuilder.Append(" What a beautiful day.");
Console.WriteLine(MyStringBuilder);
输出结果
What a beautiful day.
Insert 插入方法
Insert 方法将字符串或对象添加到当前 StringBuilder中的指定位置。以下示例使用此方法将一个单词插入到 StringBuilder的第6个位置。
StringBuilder MyStringBuilder = new StringBuilder("Hello World!");
MyStringBuilder.Insert(6,"Beautiful ");
Console.WriteLine(MyStringBuilder);
输出结果
Hello BeautifulWorld!
delete 删除方法
StringBuilder MyStringBuilder = new StringBuilder("helloooo");
MyStringBuilder.delete(5,7);
Console.WriteLine(MyStringBuilder);
输出结果
helloo
Replace 替换方法
StringBuilder MyStringBuilder = new StringBuilder("Hello World!");
MyStringBuilder.Replace('!', '?');
Console.WriteLine(MyStringBuilder);
输出结果
Hello World?