【C#】 StringBuilder

概念:C#提供的一个处理字符串的公共类。

特点:修改字符串而不创建新的对象,需要频繁修改拼接字符串时使用StringBuilder可以提升性能。

使用:使用前需要声明命名空间,using System.Text; 。

初始化

StringBuilder str = new StringBuilder("12345");
Console.WriteLine(str);

容量

  • StringBuilder声明的字符串容量一开始为16,如果超过16就会自动扩容,一次扩容一倍,即第二次变为32;
  • 这样字符串的更改就不需要一直产生新的对象,减少垃圾,提升性能。
Console.WriteLine(str.Capacity);

字符串长度

Console.WriteLine(str.Length);

str.Append("12345");
Console.WriteLine(str);
str.AppendFormat("{0}{1}",123,4165);
Console.WriteLine(str);

插入

str.Insert(0, "HHHH");
Console.WriteLine(str);

str.Remove(0, 4);
Console.WriteLine(str);

清空

str.Clear();

Console.WriteLine(str[3]);

str[0] = 'D';
Console.WriteLine(str);

替换

str.Replace("1", "G");
Console.WriteLine(str);

重新赋值

先清空,再增加。

不用新产生字符串对象

str.Clear();
str.Append("12345");
Console.WriteLine(str);

用Equals判断StringBuilder类型的字符串相等

if( str.Equals("12345") )
{
    Console.WriteLine("相等");
}

string和StringBuilder的区别

string是存储字符串的类型。StringBuilder是C#提供的一个处理字符串的公共类。

相同:string和StringBuilder都可以用来存储字符串,并进行一些字符串处理。

不同

  1. string每次修改字符串都会创建新的对象;StringBuilder有一个容量,在容量范围内每次修改字符串不会创建新的对象,超过容量了,每次增加一倍容量。
  2. String的值不可更改,StringBuilder的值是可更改的。

如何优化内存?

频繁使用字符串更改拼接时使用StringBuilder类型的字符串,可以减少内存垃圾。

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值