Hashtable概述
在.NET中,Hashtable是用来处理 Key/Value(键/值)对的集合容器。其中Key通常用来快速查找,Value用来储存对应的Key值,Key区分大小写,Hashtable的Key和Values均为Object类型,所以在访问的时候要把类型从Object类型转换为原来的类型。相对于ArrayList,Hashtable更方便查找指定元素。
Hashtable常用属性及方法
Hashtable常用属性
属性 |
说明 |
Keys |
获取包含Hashtable中所有键的ICollection,可以遍历该属性访问Hashtable中所有键 |
Values |
获取包含Hashtable中所有值的ICollection,可以遍历该属性访问Hashtable中所有值 |
Count |
获取Hashtable中键/值对的数目 |
Hashtable常用方法
方法 |
说明 |
Add(obgect keys,object values) |
将带有指定键和值的元素添加到Hashtable中 |
Remove(object key) |
删除Hashtable中指定键的元素 |
Clear() |
清空Hashtable中所有的元素 |
ContainKey(object key) |
判断Hashtable中是否包含指定键,该方法返回bool类型值 |
ContinVlue(object value) |
判断Hashtable中是否包含指定值,该方法返回bool类型值 |
ps: 在Hashtable中的元素不需要按顺序储存,所以没有关于排序的方法
Hashtable的使用
新建一个Student类
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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
namespace { class Student { private string name; private int age; private bool sexCode; private char sex;
public string Name { get { return name; }
set { name = value; } }
public int Age { get { return age; }
set { age = value; } }
public bool SexCode { get { return sexCode; }
set { sexCode = value; } }
public char Sex { get { if (SexCode == true) sex = '男'; else sex = '女'; return sex; } } public void Show() { Console.WriteLine("姓名:{0},性别:{1},年龄:{2}", Name, Sex, Age); }
public void Show(string name) { Console.WriteLine("你查询学生的信息如下"); Console.WriteLine("姓名:{0},性别:{1},年龄:{2}", Name, Sex, Age); } } }
|
在Main函数中使用Hashtable,调用Student类
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
|
Student zhong = new Student() { Name = "钟", SexCode = true, Age = 19 }; Student zhi = new Student() { Name = "智", SexCode = false, Age = 19 };
Hashtable hst = new Hashtable();
hst.Add(zhong.Name,zhong); hst.Add(zhi.Name,zhi);
hst.ContainsKey(zhong.Name);
hst.ContainsValue(zhong);
Console.WriteLine("请输入你要查询学生的姓名"); string name= Console.ReadLine();
Student stu = hst[name] as Student;
try { stu.Show(name); } catch (Exception) { Console.WriteLine("该学生信息不存在"); }
Console.ReadKey();
|
近期评论