c#基础-17.StringBuilder

了解string,请点击这里

为什么用StringBulder?

例子:

string a = "str_1";
a = "str_2";

在内存中创建"str_1"和"str_2"两个字符串,但只有"str_2"在被使用,"str_1"不会被修改或消失,这样就浪费了内存资源,而且字符串一旦创建就不可修改大小,每次使用System.String类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。

而StringBuider在修改字符串的同时不会创建新对象。

StringBuider的使用

导入命名空间using System.Text;

例子:

			StringBuilder sb = new StringBuilder(20);
            sb.Append("hello ");
            sb.Append("world");
            Console.WriteLine(sb);

string与StringBuilder的区别

1.String声明之后在内存中大小是不可修改的,而StringBuilder可以自由扩展大小(String分配在栈区,StringBuilder分配在堆区)
2.在内存上的区别

StringBuilder sb = new StringBuilder(20);
            sb.Append("china");
            string s1 = "china";

在这里插入图片描述

常用函数

StringBuilder sb = new StringBuilder(20);
            //Capacity(设置容量)
            sb.Capacity=25;
            //Append
            sb.Append("china");
            //AppendFormat(格式化输出)                     
            int MyInt = 25;
            StringBuilder sb1 = new StringBuilder("Your total is ");
            sb1.AppendFormat("{0:C}   ", MyInt);
            Console.WriteLine(sb1); //结果:Your total is $25.00   
            //Insert
            sb.Insert(2, "xiao");
            Console.WriteLine(sb);//chxiaoina
            //Remove
            sb.Remove(2, 4);
            Console.WriteLine(sb);//china
            //Replace
            sb.Replace('a', 'p');
            Console.WriteLine(sb);//chinp
            Console.ReadKey();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值