編寫ASP.NET應(yīng)用程序的技巧(2)_.Net教程
推薦:ASP.NET 2.0中構(gòu)造個性化網(wǎng)頁在WEB應(yīng)用中,我們經(jīng)常要創(chuàng)建個性化的網(wǎng)頁。什么是個性化的網(wǎng)頁呢?舉個例子,大家經(jīng)常使用熟悉的搜索引擎google,當(dāng)我們設(shè)置了每次要使用的個性化語言偏好,比如使用中文后,在下次使用google時
4、使用StringBuilder類
字符串在.NET框架中是不可變的,這意味著改變字符串的操作符和方法會返回字符串的改變后的拷貝,這意味著性能還有提高的空間。當(dāng)進行大量的字符串操作時,使用StringBuilder類就是一種比較好的選擇了。
下面的C#代碼測試用二種方式從10000個子字符串中生成字符串所需要的時間。第一次使用了一個簡單的字符串串聯(lián)操作;第二次使用了StringBuilder類。
要想查看結(jié)果字符串,可以去掉下面的代碼中注解行的注解符號:
以下為引用的內(nèi)容: < %@ 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”> < 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> |
二種方式的差別是相當(dāng)大的:使用StringBuilder類的Append方法的速度比使用字符串連接的速度快近200倍。
分享:ASP.NET中利用存儲過程實現(xiàn)模糊查詢一、建立存儲過程 在MSSQL中的Northwind數(shù)據(jù)庫中為employess表新建存儲過程(作用按LastName進行模糊查詢): CREATE PROCEDURE Employess_Sel @lastname nvarchar (20) AS select
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實例(可帶附件)
- js實現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實現(xiàn)
- Asp.Net 無刷新文件上傳并顯示進度條的實現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(連接字符串的配置及獲取)
- asp.net頁面?zhèn)髦禍y試實例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲過程實現(xiàn)分頁示例代碼
- 相關(guān)鏈接:
- 教程說明:
.Net教程-編寫ASP.NET應(yīng)用程序的技巧(2)。