可变字符串类

对于创建成功的字符串对象,它的长度是固定的,内容不能被改变和编译。虽然使用“+”可以达到附加新字符或字符串的目的,但“+”会产生一个新的String实例,会在内存中创建新的字符串对象,如果重复的对字符串进行修改,将极大地增加系统开销。而C#中提供了一个可变的字符序列StringBuilder类,大大提高了频繁增加字符串的效率。

StringBuilder类的定义

StringBuilder6种不同的构造方法。其中之一为:

public StringBuilder(string value,int cap)

valueStringBuilder对象引用的字符串。

cap:设定StringBuilder对象的初始大小。

例如:

创建一个StringBuilder对象,其初始引用的字符串为“HelloWorld”。

StringBuilder _stringBuilder=new StringBuilder("HelloWorld");

类表示值为可变字符序列的类似字符串的对象。之所以说值是可变的,是因为在通过追加、移除、替换或插入字符而创建它后可以对它进行修改。

StringBuilder类存在于System.Text命名空间中,如果要创建StringBuilder对象,首先必须引用此命名空间。StringBuilder类中常用的几个操作字符串的方法。

Append:将文本或字符串追加到指定对象的末尾。

AppendFormat:自定义变量的格式并将这些值追加到StringBuilder对象的末尾

Insert:将字符串或对象添加到当前StringBuilder对象中的指定位置

Remove:从当前StringBuilder对象中移除指定数量的字符

Replace:用另一个指定的字符来替换StringBuilder对象内的字符。

例如:

创建一个控制台应用程序,声明一个int类型的变量num,并初始化为1000。然后创建一个StringBuilder对象。其初始值为:用一生下载你。初始大小为100。最后使用StringBuildr类的AppendAppendFormatInsertRemoveReplace方法操作StringBuilder对象。

int num=1000;

StringBuildr _stringBuilder=new StringBuilder("用一生下载你",100);

_stringBuilder.Append("风花雪月");

_stringBuilder.Insert(0,"名称为:");

_stringBuilder.Remove(15,10);

_stringBuilder.Replace("名称","一生所爱");