指点成金-最美分享吧

登录

C#中HashTable的用法

佚名 举报

篇首语:本文由小编为大家整理,主要介绍了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();

        }

    }

 

以上是关于C#中HashTable的用法的主要内容,如果未能解决你的问题,请参考以下文章