可变字符串类
对于创建成功的字符串对象,它的长度是固定的,内容不能被改变和编译。虽然使用“+”可以达到附加新字符或字符串的目的,但“+”会产生一个新的String实例,会在内存中创建新的字符串对象,如果重复的对字符串进行修改,将极大地增加系统开销。而C#中提供了一个可变的字符序列StringBuilder类,大大提高了频繁增加字符串的效率。
StringBuilder类的定义
StringBuilder有6种不同的构造方法。其中之一为:
public StringBuilder(string value,int cap)
value:StringBuilder对象引用的字符串。
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类的Append、AppendFormat、Insert、Remove、Replace方法操作StringBuilder对象。
int num=1000;
StringBuildr _stringBuilder=new StringBuilder("用一生下载你",100);
_stringBuilder.Append("风花雪月");
_stringBuilder.Insert(0,"名称为:");
_stringBuilder.Remove(15,10);
_stringBuilder.Replace("名称","一生所爱");