C# 利用StringBuilder提升字符串拼接性能的小例子

 更新时间:2013年07月04日 15:18:09   作者:  
一个项目中有数据图表呈现,数据量稍大时显得很慢,在使用了StringBuilder后效果提升很明显,下面有例子

用Stopwatch分段监控了一下,发现耗时最多的函数是SaveToExcel

此函数中遍列所有数据行,通过Replace替换标签生成Excel行,然后将行数据累加赋值到一个字符串

复制代码 代码如下:

string excelString = "";
foreach(var item in list){
        excelString += string.Format("<row>....{0}</row>",list.Title);
}

看到这。。立马想起无数先烈们的警告、字符串拼接的内存操作原理等等。于是大手一挥,代码全删,改为如下形式
复制代码 代码如下:

string excelString = new StringBuilder();
foreach(var item in list){
      excelString.AppendFormat("<row>......{0}</row>",list.Title);
}

再次测试,效率立马提升了几十倍。之前8000行需要30s,现在只需要2s

相关文章

  • C# menuStrip控件实现鼠标滑过自动弹出功能

    C# menuStrip控件实现鼠标滑过自动弹出功能

    MenuStrip 控件是 Visual Studio 和 .NET Framework 中的功能。使用该控件,可以轻松创建 Microsoft Office 中那样的菜单。本文给大家分享menuStrip鼠标滑过自动弹出效果
    2021-07-07
  • c++换行符知识点总结

    c++换行符知识点总结

    在本篇文章里小编给大家整理的是关于c++换行符知识点总结,需要的朋友们可以参考学习下。
    2020-03-03
  • C#开发中常用的加密解密方法汇总

    C#开发中常用的加密解密方法汇总

    这篇文章主要介绍了C#开发中常用的加密解密方法汇总,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下
    2020-11-11
  • C#中的9个“黑魔法”

    C#中的9个“黑魔法”

    这篇文章主要介绍了C#中的9个“黑魔法”与“骚操作”,本文通过实例代码给大家讲解的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • C#通过xpath查找xml指定元素的方法

    C#通过xpath查找xml指定元素的方法

    这篇文章主要介绍了C#通过xpath查找xml指定元素的方法,涉及C#操作XML文件的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • c#使用Aspose打印文件的示例

    c#使用Aspose打印文件的示例

    这篇文章主要介绍了c#使用Aspose打印文件的示例,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-05-05
  • c#利用webmail邮件系统发送邮件示例分享

    c#利用webmail邮件系统发送邮件示例分享

    在C#中发送邮件的方式有2种,一种是使用webmail方式进行发送,另外一种就是采用netmail发送的方式,这篇文章介绍了c#使用webmail方式发送邮件示例,大家参考使用吧
    2014-01-01
  • 在Framework 4.0中:找出新增的方法与新增的类(一)

    在Framework 4.0中:找出新增的方法与新增的类(一)

    经常看到有同学在讨论Framework 4 的新特性,新方法,于是想写个程序找出framework4.0中新增的方法和类
    2013-05-05
  • C#中实现查找mysql的安装路径

    C#中实现查找mysql的安装路径

    这篇文章主要介绍了C#中实现查找mysql的安装路径,本文讲解使用SQL语句查询出mysql的安装路径,方便在备份时使用,需要的朋友可以参考下
    2015-06-06
  • C#判断字符串是否是数字(实例)

    C#判断字符串是否是数字(实例)

    本文主要分享了C#实现判断字符串是否是数字的具体实例,具有一定的参考价值,需要的朋友一起来看下吧
    2016-12-12

最新评论