字符串操作性能

在开发中遇到过以下情况:

在网页的后台代码中,需要根据获取的数据集来生成客户端HTML代码。

程序中用了大量类似 str += "<td>...</td>" 的代码。

当数据集中的数据量比较小时,网页打开的速度没有太大影响。但是,当数据集中的记录达到500+甚至1000+的时候,打开网页需要几十秒。

将程序中的String用StringBuilder来代替,用StringBuilder.Append()方法来代替 str +=之后,程序的性能提高了很多。打开网页只需要几秒。

String   对象是不可改变的。每次使用  System.String   类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的   String   对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用   System.Text.StringBuilder   类。例如,当在一个循环中将许多字符串连接在一起时,使用   StringBuilder   类可以提升性能。  

原文地址:https://www.cnblogs.com/xiaoyusmile/p/2411812.html