zoukankan      html  css  js  c++  java
  • 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(); 
                }
     

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

    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);
                }
     
                // 哈希表排序  对哈希表按key值重新排列的做法:
                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();
            }
        }
  • 相关阅读:
    EditText之边框颜色
    Android之drawable state各个属性详解
    Android-第三天
    Android 问题
    ios VS android
    Android-第二天(2)
    collapse
    2020/3/7
    2020/3/6
    P3825 [NOI2017]游戏
  • 原文地址:https://www.cnblogs.com/BrokenIce/p/5903978.html
Copyright © 2011-2022 走看看