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类的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。