关于HashTable的小知识点

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Collections;
  4. using System.Linq;
  5. using System.Text;
  6. namespace HDemo
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             Hashtable ht = new Hashtable();
  13.             #region HashTabel常用方法
  14.             ht.Add("姓名""XO");//添加key/键值对
  15.             ht.Add("年龄""21");
  16.             ht.Add("职业""SoftwareEngineer");
  17.             ht.Add("性别""Female");
  18.             ht.Add("sex""1");
  19.             ht.Add("编号""001");
  20.             Int32 age = Convert.ToInt32(ht["sex"]);//用Int转换会出错
  21.             bool isExist = ht.ContainsKey("性别");//判断哈希表是否包含特定键,其返回值为true或false
  22.             ht.Remove("sex");//移除一个key/键值对
  23.             // ht.Clear();//移除所有元素
  24.             Console.WriteLine(" --- HashTabel常用方法 ---");
  25.             Console.WriteLine(ht.Count.ToString());
  26.             Console.WriteLine(isExist.ToString());
  27.             Console.WriteLine(age.ToString());
  28.             Console.WriteLine("   ");
  29.             Console.WriteLine("/* ********************************** */");
  30.             Console.WriteLine("   ");
  31.             #endregion
  32.             #region 判定速度比较
  33.             Console.WriteLine(" --- HashTabel的判定试试比较 ---");
  34.             if (ht.ContainsKey("姓名"))
  35.             {
  36.                 Console.WriteLine(ht["姓名"].ToString());
  37.             }
  38.             object value = ht["姓名"];
  39.             if (value != null)
  40.             {
  41.                 Console.WriteLine(value.ToString());
  42.             }
  43.             Console.WriteLine("   ");
  44.             Console.WriteLine("/* ********************************** */");
  45.             Console.WriteLine("   ");
  46.             #endregion
  47.             #region 遍历哈希表
  48.             Console.WriteLine(" --- 遍历哈希表 --- ");
  49.             foreach (DictionaryEntry de in ht)
  50.             {
  51.                 Console.WriteLine(de.Key + " :  " + de.Value);
  52.             }
  53.            
  54.             Console.WriteLine("   ");
  55.             Console.WriteLine("/* ********************************** */");
  56.             Console.WriteLine("   ");
  57.             #endregion
  58.             #region 对哈希表进行排序
  59.             //无法直接在Hashtable进行对key进行重新排列.采用变通的方法
  60.             ArrayList akeys = new ArrayList(ht.Keys); //别忘了导入System.Collections
  61.             akeys.Sort(); //按字母顺序进行排序
  62.             Console.Write(" --- 对哈希表进行排序 --- ");
  63.             Console.WriteLine("");
  64.             foreach (string skey in akeys)
  65.             {
  66.                 Console.Write(skey + ":");
  67.                 Console.WriteLine(ht[skey]);//排序后输出
  68.             }
  69.             #endregion
  70.             #region 简介
  71.             Console.WriteLine("   ");
  72.             Console.WriteLine("/* ********************************** */");
  73.             Console.WriteLine("   ");
  74.             Console.Write(" --- 哈希表简介 --- ");
  75.             Console.WriteLine("   ");
  76.             Console.WriteLine("在.NET work中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key/的键值对,其中key通常可用来快速查找,同时key是区分大小写;用于存储对应于key的值。Hashtable中key/键值对均为object类型,所以Hashtable可以支持任何类型的key/键值对.");
  77.             #endregion
  78.             Console.Read();
  79.         }
  80.    
  81.     }
  82. }

以前没太注意它,使用的时候就出了错:

相关内容:Js中HashTable的应用;

                 HashTable与其它的相似与区别;如(ArrayList/DataTabel)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值