zoukankan      html  css  js  c++  java
  • C# 哈希表

    哈希表:
    1,哈希表里没有索引号:不支持for循环,但支持foreach循环
    2,键不能重复
    3,哈希表在遍历中可移除某个键/值对;注意,移除后一定要退出循环(break;)
    4,键放入顺序不一定是自然顺序;
    用来通过制定的Key,查找Value的。Key不可重复,但是Value可以重复。Key的检索是通过HashCode进行的,效率比普通列表要高,因此有人单独使用Key来存放不重复的关键字,而Value不给值,设为null,用来判断某个key是否存在,效率比普通的集合中判断是否存在要高,不过相应的内存消耗也比较大。
     
    Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key/的键值对,其中key通常可用来快速查找,同时key是区分大小写;用于存储对应于key的值。Hashtable中key/键值对均为object类型,所以Hashtable可以支持任何类型的key/键值对.
    使用键值对时可使用。
     
    一.常用的方法:
      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();
                }
    二.遍历哈希表:
    遍历哈希表需要用到DictionaryEntry Object,代码如下:
      for(DictionaryEntry de in ht) //ht为一个Hashtable实例
      {
       Console.WriteLine(de.Key);//de.Key对应于key/value键值对key
       Console.WriteLine(de.Value);//de.Key对应于key/value键值对value
      }
    或者
    foreach (string mykey in ht.Keys)
                {
                string str=(string)ht[mykey];
                Console.WriteLine(str);
                }
  • 相关阅读:
    redis性能优化——生产中实际遇到的问题排查总结
    Redis优化经验
    Python 发送 email 的两种方式
    封装简单的equery
    Mobiscroll的介绍【一款兼容PC和移动设备的滑动插件】
    css3毛玻璃模糊效果
    环形进度条的实现方法总结和动态时钟绘制(CSS3、SVG、Canvas)
    CSS实现圆角,三角,五角星,五边形,爱心,12角星,8角星,圆,椭圆,圆圈,八卦
    盘点8种CSS实现垂直居中水平居中的绝对定位居中技术
    CSS 去掉inline-block间隙的几种方法
  • 原文地址:https://www.cnblogs.com/zcm123/p/2844415.html
Copyright © 2011-2022 走看看