ASP.NET中如何使用StringBuilder類,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供蠡縣網(wǎng)站建設(shè)、蠡縣做網(wǎng)站、蠡縣網(wǎng)站設(shè)計、蠡縣網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、蠡縣企業(yè)網(wǎng)站模板建站服務(wù),十余年蠡縣做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
StringBuilder類的使用在ASP.NET技巧中也是有相當(dāng)重要的地位的,在字符串的處理上StringBuilder類要更加出色一點。
字符串在.NET框架中是不可變的,這意味著改變字符串的操作符和方法會返回字符串的改變后的拷貝,這意味著性能還有提高的空間。當(dāng)進行大量的字符串操作時,使用StringBuilder類就是一種比較好的選擇了。
ASP.NET技巧之StringBuilder類的使用是如何的呢?下面的代碼測試用二種方式從10000個子字符串中生成字符串所需要的時間。***次使用了一個簡單的字符串串聯(lián)操作;第二次使用了StringBuilder類。要想查看結(jié)果字符串,可以去掉下面的代碼中注解行的注解符號:
<%@ 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 = ""; // 首先執(zhí)行字符串連接操作 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>
二種方式的差別是相當(dāng)大的:使用StringBuilder類的Append方法的速度比使用字符串連接的速度快近200倍。
看完上述內(nèi)容,你們掌握ASP.NET中如何使用StringBuilder類的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!