易截截图软件、单文件、免安装、纯绿色、仅160KB

ASP.NET(C#)中string与stringBuilder的区别

 
在相同字符串的许多操作上,使用StringBuilder类会比使用String对象更有效率。
 
 
 当你对一个string对象赋值时,这时会生成一个这个对象的副本,如果你赋值多次的话在系统中就会保存多个这个对象的副本,会对系统资源造成很大的浪费,但是StringBuilder不会出先上述情况
String数据类型代表的是一种不可变的字符串, 以为着对这个字符串的插入, 删除或是更改,唯一的方式就是建立一个新的字符串,会引发对内存的配置操作以及对内存的反配置操作,加重CLR管理内存和内存回收的工作,这中情形尤其是在操作大字符串时,更为明显,在单一的用户环境中,不会带来任何问题,但是在服务器环境中,在效能和可扩展性上会造成比较严重的问题。
与System.String相比,StringBuilder会保留自己的字符串缓冲区,在针对StringBuilder执行字符串操作时,会先检查缓冲区的大小是否能否容纳新的字符串,不够时再去增加需要的内存数量,因此大幅降低内存配置的操作次数,提高了效能,当然大多数的情况下,多估算一些缓冲区空间比后来又不断加大要好。 
 
比如:string+=string会占用更多的内存分配。最好使用stringbuilder.append
 


相关文档:

常见的C#面试题


 
1. 简述 private、 protected、 public、 internal 修饰符的访问权限。答 . private : 私有成员, 在类的内部才可以访问。 protected : 保护成员,该类内部和继承类中可以访问。 public : 公共成员,完全公开,没有访问限制。 internal: 在同一命名空间内可以访问。2 .列举ASP.NET 页面之间传递值的几种方式。 答. ......

[摘自c#Bible]c#中namespace的使用(命名空间)

The C# classes that you design will be used by code that you write and possibly by code that
other people write. Your C# classes may be used by a VB.NET application or from within an
ASP.NET page. Moreover, your classes may very well be used alongside other classes
designed by other .NET develope ......

ASP.NET MVC 多语言解决方案

ASP.NET MVC 多语言解决方案()
  就一个网站的多语言特性来说,我认为分为两个方面:
    1、HTML界面上显示的文字需要多语言
    2、HTML界面上JS输出的文字需要多语言
    原来在HTML部分直接写的文字都不能直接写要输出的文字,而是要采用标记的方法来替换。JS也 ......

提高ASP.NET性能的方法

 
 一、性能参数:
  1、 吞吐量
  2、 响应时间
  3、 执行时间
  4、 可伸缩性
  二、性能因素:
  1、ASPX执行环境
  2、编写代码逻辑
  三、提高性能的方法:
  1、 避免不必要的操作.例如:在Page_Load中使用IsPostBack;
  2、 尽量减少使用服务器端控件
  3、 关闭不必要 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号