码迷,mamicode.com
首页 > 其他好文 > 详细

StringBuilder类与string类的区别

时间:2017-12-18 18:40:32      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:科技   微软雅黑   赋值   自身   针对   工作效率   可变   initial   改变   

 

string本身是不可改变的,它只能赋值一次,每一次内容发生改变,都会生成一个新的对象,然后原有的对象引用新的对象,而每一次生成新对象都会对系统性能产生影响,这会降低.NET编译器的工作效率。string操作示意图如图1所示。

技术分享图片

 

1string操作示意图

StringBuilder类则不同,每次操作都是对自身对象进行操作,而不是生成新的对象,其所占空间会随着内容的增加而扩充,这样,在做大量的修改操作时,不会因生成大量匿名对象而影响系统性能。StringBuilder操作示意图如图2所示。

技术分享图片

 

2StringBuilder操作示意图

技巧:当程序中需要大量的对某个字符串进行操作时,应该考虑应用StringBuilder类处理该字符串,其设计目的就是针对大量string操作的一种改进办法,避免产生太多的临时对象;而当程序中只是对某个字符串进行一次或几次操作时,采用string类即可。

 


感谢读者朋友对明日科技的支持,如果您对图书中的讲解及光盘源码有任何问题,可以直接登录
http://www.mingrisoft.com上的社区进行发贴,把您的问题详细的说明一下,我们的技术人员会在那里给您回复!

本文来自明日科技出版的《零基础学C#,转载请注明出处!!!

 

 

StringBuilder类与string类的区别

string本身是不可改变的,它只能赋值一次,每一次内容发生改变,都会生成一个新的对象,然后原有的对象引用新的对象,而每一次生成新对象都会对系统性能产生影响,这会降低.NET编译器的工作效率。string操作示意图如图1所示。

 

1string操作示意图

StringBuilder类则不同,每次操作都是对自身对象进行操作,而不是生成新的对象,其所占空间会随着内容的增加而扩充,这样,在做大量的修改操作时,不会因生成大量匿名对象而影响系统性能。StringBuilder操作示意图如图2所示。

 

2StringBuilder操作示意图

技巧:当程序中需要大量的对某个字符串进行操作时,应该考虑应用StringBuilder类处理该字符串,其设计目的就是针对大量string操作的一种改进办法,避免产生太多的临时对象;而当程序中只是对某个字符串进行一次或几次操作时,采用string类即可。

 

 

标签:C#StringBuilderstring类可变字符串string类与StringBuilder类区别

 

本文来自明日科技出版的《零基础学C#,转载请注明出处!!!

 

StringBuilder类与string类的区别

标签:科技   微软雅黑   赋值   自身   针对   工作效率   可变   initial   改变   

原文地址:http://www.cnblogs.com/mrxy/p/8057657.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!