編寫ASP.NET應(yīng)用程序的技巧(2)_.Net教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦: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

      來源:模板無憂//所屬分類:.Net教程/更新時間:2008-08-22
      相關(guān).Net教程