由於近段時間培訓內容涉及到Hashtable方面的知識,由於培訓僅僅起到一個引導的作用,加之以前又接觸得少,因此對Hashtable這個東東蠻陌生,呵呵,今晚木有事兒就一起來學習一下吧,更歡迎大神進來批評指正
我們從字面意思就可以猜到Hashtable就是哈希表,它是通過類實現一個哈希表,裡面存著一個個的鍵值對,哈希表可以將鍵映射到相應的值。Hashtable是一個容器,我們可以使用key來快速查找相應的值。並且在Hashtable中key和value均為object類型,也就是說Hashtable可以支持任何類型。
對於Hashtable進行一些簡單的操作,羅列一下下,特別提醒使用Hashtable時必須引用
Main( Hashtable ht = ht.Add(, ht.Add(, ht.Add(, j=ht[ ht.Remove( j = ht[].ToString(); }
Hashtable中我們可以添加一個鍵值對、移除一個鍵值對、移除所有鍵值對、判斷哈希表中是否包含某個鍵值對。這句話不對,感謝園友提醒,其實如果key值為數值是可以使用Hashtable[0]來獲取其value的,不過不推薦這麼寫,索引一多容易混淆。
關於Hashtable屬性也不多,看下圖:
親自試驗,加深印象:
Main( Hashtable ht = ht.Add(, ht.Add(, ht.Add(, ht.Add(, ht.Add(, count = Console.WriteLine( + count + isFixedSize = Console.WriteLine( + isReadOnly = Console.WriteLine( + ICollection keys = ICollection values = ( item ( item }
結果如下:
既然我們前面就說了Hashtable是一個容器,那麼我們就應該可以對其進行遍歷,獲取其所有的鍵和值,於是在木有看相關知識前我想當然的寫下了如下代碼:
( myitem Console.WriteLine(myitem.Key + + }
很顯然試過後錯誤很明顯,壓根編譯都不能通過。那麼我們我們如何才能夠遍歷Hashtable中的鍵值對呢,通過上網查資料知道了些
(DictionaryEntry myitem Console.WriteLine(myitem.Key + + }
我們可以使用DictionaryEntry結構,通過它可以設置或檢索的字典鍵/值對,不過在這裡使用foreach讀取哈希表中的鍵值有點需要知道,foreach 語句是對枚舉數的包裝,它只允許從集合中讀取,不允許寫入集合。所以我們再次設置鍵值對的值會編譯時報錯
雙休就這麼過去了,新的工作日又來了,也有更多的挑戰等著我,繼續吧,菜鳥成長ing
------如果你覺得此文對你有所幫助,別忘了點擊下右下角的推薦咯,謝謝!------