C#-从入门到精通-第5章 字符与字符串(3)

【StringBuilder类】
命名空间为:System.Text;

StringBuilder str2 = new StringBuilder(" ");//声明一个空的stringbuilder类的变量

stringbuilder类的常用方法可以在帮助中查看
Append 方法,将文本追加到指定对象的末尾;
insert
remove
replace
等等

StringBuilder str1 = new StringBuilder("(),(),(),2、4、6、7、8");
Console.WriteLine(str1);
str1.Remove(0, 9);
str1.Insert(0, "(门前大桥下),(游过一群鸭),(快来快来数一数),");
Console.WriteLine(str1);
Console.ReadLine();

【string类与stringbuilder类的比较】
string类创建对象,改变对象的值,是在堆里面定义了另一个对象,如果无数次改变对象的值,那么就会在堆里面创建无数个对象;
stringbuilder类创建一个对象,就可以直接改变这个对象的值,堆里面永远只有这一个对象;
很显然在执行多次操作时,stringbuilder类的效率更高且消耗更小。
举个例子:

            string str1 = "";  //声明一个空的string类型变量
            long starttime = DateTime.Now.Millisecond; //记录开始时间,毫秒级
            for(int i=0;i<10000;i++)   
            {
                str1 += i;  //执行一万次相加操作
            }
            long endtime = DateTime.Now.Millisecond; //记录结束时间
            long time = endtime - starttime;
            Console.WriteLine("string消耗的时间:{0}", time);
            StringBuilder str2 = new StringBuilder(""); //声明空的stringbuilder类型变量
            starttime = DateTime.Now.Millisecond;
            for(int i=0;i<10000;i++)
            {
                str2.Append(i); //使用append方法执行追加操作
            }
            endtime = DateTime.Now.Millisecond;
            time = endtime - starttime;
            Console.WriteLine("stringbuilder消耗的时间:{0}", time);
            Console.ReadLine();

结果是:
程序执行的结果
很显然看出stringbuilder类只消耗了3毫秒。

/仅作为本人学习笔记/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个喜欢弹吉他的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值