C#数组和集合专题4(Hashtable类)
四、Hashtable類
①.Hashtable概述
通過Hashtable類將數據作為一組鍵值對來存儲,這些鍵值對是根據編碼來組織的,可以將鍵作為索引器來獲得對應值的對象。
Hashtable對象中的鍵值必須是唯一的,在Hashtable中一個值只允許出現一次,如果企圖往Hashtable對象里添加已經存在鍵值,將會拋出ArgumentException異常。
Hashtable類用于處理和表現類似鍵值對,其中鍵通常可用來快速查找,同時鍵是區分大小寫;用于存儲對應于鍵的值。Hashtable中鍵值對均為object類型,所以Hashtable可以支持任何類型的鍵值對.
using System;
using System.Collections;
?
namespace HashtableEmployee
{
??? classEmployee
??? {
??????? privateint empID;//員工號
??????? privatestring empName;//姓名
??????? privateint empSalary;//員工薪水
??????? public Employee(int id,string name,int salary)
??????? {
??????????? this.empID = id;
??????????? this.empName = name;
??????????? this.empSalary = salary;
??????? }
??????? publicoverridestring ToString()
??????? {
??????????? string empInfo="員工號:"+this.empID+",姓名:"+this.empName+",薪水"+this.empSalary;
??????????? return empInfo;
??????? }
??????? staticvoidMain(string[] args)
??????? {
??????????? Hashtable ht = newHashtable();
??????????? ht.Add(1, newEmployee(1, "小雨", 3000));//將一個鍵值對添加到哈希表中
????????? ??ht.Add(4, newEmployee(4, "小華", 2000));
??????????? ht.Add(3, newEmployee(3, "小剛", 1500));
??????????? ht.Add(2, newEmployee(2, "小芳", 3500));
??????????? int number;
????????????Console.Write("你要查找哪位員工的信息:");
?
??????????????? try
??????????????? {
??????????????????? number = int.Parse(Console.ReadLine());//判斷控制臺輸入的是否為整數
??????????????? }
??????????????? catch (FormatException)
??????????????? {
??????????????????? Console.WriteLine("員工號必須是整數!請重新輸入!");
??????????????????? number = int.Parse(Console.ReadLine());
??????????????? }
??????????????? if (ht.ContainsKey(number))//測試鍵是否已經存在
??????????????? {
??????????????????? Employee emp = (Employee)ht[number];//鍵作為索引器來獲得對應值的對象
??????????????????? Console.WriteLine(emp.ToString());
??????????????? }
??????????????? else
??????????????? {
??????????????????? Console.WriteLine("你輸入的員工編號不存在!");
??????????????? }
?????
?? }
轉載于:https://www.cnblogs.com/tanding/archive/2012/06/29/2569363.html
總結
以上是生活随笔為你收集整理的C#数组和集合专题4(Hashtable类)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PaperSize.RawKind 属性
- 下一篇: 菜鸟之2011-2012学年总结