編寫(xiě)ASP.NET應(yīng)用程序的技巧(2)_.Net教程
推薦:ASP.NET 2.0中構(gòu)造個(gè)性化網(wǎng)頁(yè)在WEB應(yīng)用中,我們經(jīng)常要?jiǎng)?chuàng)建個(gè)性化的網(wǎng)頁(yè)。什么是個(gè)性化的網(wǎng)頁(yè)呢?舉個(gè)例子,大家經(jīng)常使用熟悉的搜索引擎google,當(dāng)我們?cè)O(shè)置了每次要使用的個(gè)性化語(yǔ)言偏好,比如使用中文后,在下次使用google時(shí)
4、使用StringBuilder類(lèi)
字符串在.NET框架中是不可變的,這意味著改變字符串的操作符和方法會(huì)返回字符串的改變后的拷貝,這意味著性能還有提高的空間。當(dāng)進(jìn)行大量的字符串操作時(shí),使用StringBuilder類(lèi)就是一種比較好的選擇了。
下面的C#代碼測(cè)試用二種方式從10000個(gè)子字符串中生成字符串所需要的時(shí)間。第一次使用了一個(gè)簡(jiǎn)單的字符串串聯(lián)操作;第二次使用了StringBuilder類(lèi)。
要想查看結(jié)果字符串,可以去掉下面的代碼中注解行的注解符號(hào):
| 以下為引用的內(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類(lèi)進(jìn)行同樣的操作 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類(lèi)的Append方法的速度比使用字符串連接的速度快近200倍。
分享:ASP.NET中利用存儲(chǔ)過(guò)程實(shí)現(xiàn)模糊查詢(xún)一、建立存儲(chǔ)過(guò)程 在MSSQL中的Northwind數(shù)據(jù)庫(kù)中為employess表新建存儲(chǔ)過(guò)程(作用按LastName進(jìn)行模糊查詢(xún)): CREATE PROCEDURE Employess_Sel @lastname nvarchar (20) AS select
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無(wú)刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見(jiàn)代碼存在的偽造IP問(wèn)題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(kù)(連接字符串的配置及獲取)
- asp.net頁(yè)面?zhèn)髦禍y(cè)試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲(chǔ)過(guò)程實(shí)現(xiàn)分頁(yè)示例代碼
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- 依賴(lài)注入機(jī)制及IoC的設(shè)計(jì)與實(shí)現(xiàn)
- .net開(kāi)發(fā)中的一些注意事項(xiàng)及小技巧
- 幾種判斷asp.net中session過(guò)期方法的比較
- 用C#來(lái)判斷當(dāng)前系統(tǒng)是XP還是WIN7
- .net 中的SqlConnection連接池機(jī)制詳解
- 教你簡(jiǎn)單方便獲取Web設(shè)計(jì)的免費(fèi)資源
- 轉(zhuǎn)換DataSet到普通xml的新法
- asp.net網(wǎng)站RSS功能實(shí)例代碼
- .NET示波器控件的實(shí)例代碼分析
- ASP.Net用MD5和SHA1加密的幾種方法
- 相關(guān)鏈接:
- 教程說(shuō)明:
.Net教程-編寫(xiě)ASP.NET應(yīng)用程序的技巧(2)
。