ASP.NET中如何使用StringBuilder类

ASP.NET中如何使用StringBuilder类,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

创新互联专业为企业提供蠡县网站建设、蠡县做网站、蠡县网站设计、蠡县网站制作等企业网站建设、网页设计与制作、蠡县企业网站模板建站服务,十余年蠡县做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

StringBuilder类的使用在ASP.NET技巧中也是有相当重要的地位的,在字符串的处理上StringBuilder类要更加出色一点。

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

ASP.NET技巧之StringBuilder类的使用是如何的呢?下面的代码测试用二种方式从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">    <h2>String Concatenation Benchmark</h2>    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倍。

看完上述内容,你们掌握ASP.NET中如何使用StringBuilder类的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


网站题目:ASP.NET中如何使用StringBuilder类
网站地址:http://scjbc.cn/article/iiidcs.html

其他资讯