String 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,
这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的 String 对象相关的系统
开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用 System.Text.StringBuilder 类。
例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder 类可以提升性能。
构造方法:
StringBulider类存在于System.Text命名空间中,若要创建StringBuilder对象,必须先引用此命名空间
语法格式:
public StringBuilder(string value,int cap)
其中value是StringBuilder对象引用的字符串,cap设定StringBuilder对象的初始大小
实例:
StringBuilder MyStringBuilder=new StringBuilder("Hello World!");
类的使用:
Append 将文本或字符串追加到指定对象的末尾
AppendFormat 自定义变量的格式并将这些值追加到StringBuilder对象的末尾
Insert 将字符串或对象添加到当前StringBuilder对象中的指定位置
Remove 从当前StringBuilder对象中移除指定数量的字符
Replace 用另一个指定的字符串来替换StringBuilder对象内的字符
实例:
static void Main(string[] args)
{
int Num=1000;
StringBuilder LS=new StringBuilder("用一生下载你",100);
LS.Append("VS 芸烨湘枫");
Console.WriteLine(LS);//用一生下载你VS 芸烨湘枫
LS.AppendFormat("{0:C}",Num);
Console.WriteLine(LS);//用一生下载你VS 芸烨湘枫¥1,000.00
LS.Insert(0,"名称:");
Console.WriteLine(LS);//名称:用一生下载你VS 芸烨湘枫¥1,000.00
LS.Remove(15,LS.Length-15);
Console.WriteLine(LS);//名称:用一生下载你VS 芸烨湘枫
LS.Replace("名称","一生所爱");
Console.WriteLine(LS);//一生所爱:用一生下载你VS 芸烨湘枫
Console.ReadLine();
}
这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的 String 对象相关的系统
开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用 System.Text.StringBuilder 类。
例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder 类可以提升性能。
构造方法:
StringBulider类存在于System.Text命名空间中,若要创建StringBuilder对象,必须先引用此命名空间
语法格式:
public StringBuilder(string value,int cap)
其中value是StringBuilder对象引用的字符串,cap设定StringBuilder对象的初始大小
实例:
StringBuilder MyStringBuilder=new StringBuilder("Hello World!");
类的使用:
Append 将文本或字符串追加到指定对象的末尾
AppendFormat 自定义变量的格式并将这些值追加到StringBuilder对象的末尾
Insert 将字符串或对象添加到当前StringBuilder对象中的指定位置
Remove 从当前StringBuilder对象中移除指定数量的字符
Replace 用另一个指定的字符串来替换StringBuilder对象内的字符
实例:
static void Main(string[] args)
{
int Num=1000;
StringBuilder LS=new StringBuilder("用一生下载你",100);
LS.Append("VS 芸烨湘枫");
Console.WriteLine(LS);//用一生下载你VS 芸烨湘枫
LS.AppendFormat("{0:C}",Num);
Console.WriteLine(LS);//用一生下载你VS 芸烨湘枫¥1,000.00
LS.Insert(0,"名称:");
Console.WriteLine(LS);//名称:用一生下载你VS 芸烨湘枫¥1,000.00
LS.Remove(15,LS.Length-15);
Console.WriteLine(LS);//名称:用一生下载你VS 芸烨湘枫
LS.Replace("名称","一生所爱");
Console.WriteLine(LS);//一生所爱:用一生下载你VS 芸烨湘枫
Console.ReadLine();
}