解讀.NET 2.0中Hashtable快速查找的方法_.Net教程

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

      推薦:解讀26個ASP.Net開發新手的常見問題
      一位ASP.net初學者學習過程中整理的備忘錄,包括“打開新的窗口并傳送參數,為按鈕添加對話框,刪除表格選定記錄,刪除表格記錄警告”等等常見問題的解決方法。 1. 打開新的窗

      一般來說我們都是用 Hashtable 的 ContainsKey 方法來查找 Hashtable 中是否存在某個鍵值然后讀取他,但是這個方法并不是效率最好的方法。比較好的方法是直接讀取鍵值然后判斷這個對象是否為 null 然后讀取。兩種代碼分別如下:

      以下為引用的內容:
      一般慢速的方法:if (objHash.ContainsKey(keyValue))
      {
      strValue=(String)objHash[keyValue];
      } 而快速的方法是:Object objValue=objHash[keyValue];
      if (objValue!=null)
      {
      strValue=(String)objValue;
      } 兩種方法的速度經過測試能差一倍左右。下面是測試代碼:
      Hashtable objHash = new Hashtable();
      for (Int32 intI = 0; intI < 1000; intI )
      {
      objHash.Add("Key_" intI.ToString(), "Value_" intI.ToString());
      }
      String strValue = String.Empty;
      Stopwatch timer = new Stopwatch();
      timer.Start();
      for (Int32 intI = 0; intI < 1000; intI )
      {
      Object objValue = objHash["Key_" intI.ToString()];
      if (objValue != null)
      {
      strValue = (String)objValue;
      }
      }
      timer.Stop();
      Console.WriteLine("Execution time was {0:F1} microseconds.", timer.Elapsed.Ticks / 10m);
      timer.Reset();
      timer.Start();
      for (Int32 intI = 0; intI < 1000; intI )
      {
      if (objHash.ContainsKey("Key_" intI.ToString()))
      {
      strValue = (String)objHash["Key_" intI.ToString()];
      }
      }
      timer.Stop();
      Console.WriteLine("Execution time was {0:F1} microseconds.", timer.Elapsed.Ticks / 10m);
      timer.Reset();

      分享:淺析ASp.Net自定義驗證碼控件
      最近自己寫了一個自定義驗證碼控件把它拿出來和大家分享分享 具體步驟 1---》新建asp.net 網站 2---》添加新建項目 ,選擇類庫 3---》新建兩個類 3.1--》自定義控件類(WebC

      來源:模板無憂//所屬分類:.Net教程/更新時間:2009-08-01
      相關.Net教程