用户名: 密码: 免费注册 忘记密码? 网站地图 | 加入收藏 | 设为首页
首页 | 新闻 | 工具 | 系统 | 办公 | 聊天 | 多媒体 | 网页 | 运营 | 平面 | 欣赏 | 数据库 | 程序 | 服务器 | 组网
网页 | 3dmax | Ghost | Windows Xp| Dreamweaver | photoshop | Flash | office | Alexa | Css | QQ | Asp | PHP | Jsp | Access
Flash MX 2004入门 | 网站推广策略 | CorelDRAW入门 | ASP学习 | 网站建设大师功 | Word入门
  iTbulo.com > 学院 > 程序开发教程 > ASP.net教程 > Asp.Net开发技巧 > 文章正文
ASP.NET应用程序设计的10大技巧
iTbulo.COM 2005-12-5 未知()

4、使用StringBuilder类

  字符串在.NET框架中是不可变的,这意味着改变字符串的操作符和方法会返回字符串的改变后的拷贝,这意味着性能还有提高的空间。当进行大量的字符串操作时,使用StringBuilder类就是一种比较好的选择了。

  下面的C#代码测试用二种方式从10000个子字符串中生成字符串所需要的时间。第一次使用了一个简单的字符串串联操作;第二次使用了StringBuilder类。要想查看结果字符串,可以去掉下面的代码中注解行的注解符号:

  <%@ Page Language="C#" %>
  <script runat="server">
  void Page_Load(Object Source, EventArgs E)
  {
  int intLimit = 10000;
  DateTime startTime;
  DateTime endTime;
  TimeSpan elapsedTime;
  string strSub;
  string strWhole = "";
  // 首先执行字符串连接操作
  startTime = DateTime.Now;
  for (int i=0; i < intLimit; i++)
  {
  strSub = i.ToString();
  strWhole = strWhole + " " + strSub;
  }
  endTime = DateTime.Now;
  elapsedTime = endTime - startTime;
  lblConcat.Text = elapsedTime.ToString();
  // lblConcatString.Text = strWhole;
  // 使用stringBuilder类进行同样的操作
  startTime = DateTime.Now;
  StringBuilder sb = new StringBuilder();
  for (int i=0; i < intLimit; i++)
  {
  strSub = i.ToString();
  sb.Append(" ");
  sb.Append(strSub);
  }
  endTime = DateTime.Now;
  elapsedTime = endTime - startTime;
  lblBuild.Text = elapsedTime.ToString();
  // lblBuildString.Text = sb.ToString();
  }
  </script>
  <html>
  <body>
  <form runat="server">
  <h1>String Concatenation Benchmark</h1>
  Concatenation:
  <asp:Label id="lblConcat"  runat="server"/>
  <br/>
  <asp:Label
  id="lblConcatString"
  runat="server"/>
  <br/>  
 <br/>
  StringBuilder:
  <asp:Label   id="lblBuild"   runat="server"/>
  <br/>
  <asp:Label   id="lblBuildString"  runat="server"/>
  </form>
  </body>
  </html>  

  二种方式的差别是相当大的:使用StringBuilder类的Append方法的速度比使用字符串连接的速度快近200倍。

上一页  [1] [2] [3] [4] [5] 下一页

文章搜索
相关资讯
相关文章 相关下载
在ASP.NET中上传图片并生成缩略图
Excel在.Net下驻留内存的解决方法
ASP.NET中常用的优化性能方法详解
网友原创:从N层到.NET详细剖析原理
经验之谈:MySQL与ASP.NET配合更强大
焦点信息