C#中HashTable的用法


 

命名空間

System.Collections

 

名稱

哈希表(Hashtable)

 

描述

用於處理和表現類似keyvalue的鍵值對,其中key通常可用來快速查找,同時key是區分大小寫;value用於存儲對應於key的值。Hashtable中keyvalue鍵值對均為object類型,所以Hashtable可以支持任何類型的keyvalue鍵值對.

 

二,哈希表的簡單操作

Hashtable hshTable = new Hashtable(); //  創建哈希表
hshTable .Add("Person1",  "zhanghf");  //  往哈希表里添加鍵值對
hshTable .Clear();  //移除哈希表里所有的鍵值對
hshTable .Contains("Person1");   //判斷哈希表里是否包含該鍵
string name = (string)hshTable["Person1"].ToString(); //取哈希表里指定鍵的值
hshTable.Remove("Person1"); //  刪除哈希表里指定鍵的鍵值對
IDictionaryEnumerator en = hshTable.GetEnumerator();  //  遍歷哈希表所有的鍵,讀出相應的值
while (en.MoveNext())
            {
               string str = en.Value.ToString(); 
            }
 

下面控制台程序將包含以上所有操作:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
class  Program
     {
         static  void  Main( string [] args)
         {
             // 創建一個Hashtable實例
             Hashtable ht= new  Hashtable();
 
             // 添加keyvalue鍵值對
             ht.Add( "A" , "1" );
             ht.Add( "B" , "2" );
             ht.Add( "C" , "3" );
             ht.Add( "D" , "4" );
 
             // 遍歷哈希表
             foreach  (DictionaryEntry de in  ht)
             {
                 Console.WriteLine( "Key -- {0}; Value --{1}." , de.Key, de.Value);
             }
 
             // 哈希表排序
             ArrayList akeys= new  ArrayList(ht.Keys);
             akeys.Sort();
             foreach  ( string  skey in  akeys)
             {
                 Console.WriteLine( "{0, -15} {1, -15}" , skey, ht[skey]);
 
             }
 
             // 判斷哈希表是否包含特定鍵,其返回值為true或false
             if  (ht.Contains( "A" ))
               Console.WriteLine(ht[ "A" ]);
             
             // 給對應的鍵賦值
             ht[ "A" ] = "你好" ;
 
             // 移除一個keyvalue鍵值對
             ht.Remove( "C" );
 
             // 遍歷哈希表
             foreach  (DictionaryEntry de in  ht)
             {
                 Console.WriteLine( "Key -- {0}; Value --{1}." , de.Key, de.Value);
             }
        
             // 移除所有元素
             ht.Clear();
   
             // 此處將不會有任何輸出
             Console.WriteLine(ht[ "A" ]);
             Console.ReadKey();
         }
     }

 





 

原文轉自:http://www.cnblogs.com/tank110/archive/2010/10/18/1854013.html
原作者為 wo獨家記憶。請尊重原作者版權

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM