Hashtable雜湊表

來源:互聯網
上載者:User

  最近做的一個購物商城的項目,其中購物車的部分需要用到Hashtable來儲存使用者購買的商品,所以在這裡對Hashtable雜湊表的知識做以下總結.

  1,因為Hashtable是在命名空間System.Collections下,所以首先得引用命名空間System和System.Collections,代碼如下:

  using System;

  using System.Collections;

  2,Hashtable的建立,添加資料(書面說法叫初始化),設定和擷取資料以及各種方法的使用,具體代碼如下:

View Code

class Example
{
public static void Main()
{
//實例化一個Hashtable對象
Hashtable ht = new Hashtable();

//利用Add方法向Hashtable中添加數據.
ht.Add("01", "麥子");
ht.Add("02", "科比");
ht.Add("03", "韋德");
ht.Add("04", "喬丹");
ht.Add("05", "波什");

//當向Hashtable中添加一個已經存在的key時拋出異常.
try
{
ht.Add("01", "mcgrady");
}
catch
{
Console.WriteLine("key=\"01\"的元素已經存在!");
Console.ReadKey();
}

//可以通過key取得Hashtable的value,形式如:ht["01"]
Console.WriteLine("key=\"01\"對應的value={0}",ht["01"]);
Console.ReadKey();

//可以通過key修改其value值.
ht["01"] = "mcgrady";
Console.WriteLine("key=\"01\",value={0}",ht["01"]);
Console.ReadKey();

//如果key不在當前Hashtable中,則在當前Hashtable中增加一個鍵值對.
ht["06"] = "羅伊";
Console.WriteLine("key=\"06\",value={0}", ht["06"]);
Console.ReadKey();

//利用ContainsKey方法檢測key在當前Hashtable中是否存在,通常用於向Hashtable中插入數據之前檢測key是否存在,如果不存在才執行插入操作.
if (!ht.ContainsKey("07"))
{
ht.Add("07","皮爾斯");
Console.WriteLine("key=\"07\",value={0}", ht["07"]);
Console.ReadKey();
}
Console.WriteLine(); //列印一個空行.

//利用foreach循環來遍歷輸出Hashtable中的數據.
foreach (DictionaryEntry de in ht)
{
Console.WriteLine("key={0},value={1}", de.Key,de.Value);
Console.ReadKey();
}

//使用values屬性取得所有的value集合.
ICollection ValueColl = ht.Values;
foreach (string s in ValueColl)
{
Console.WriteLine("value={0}",s);
Console.ReadKey();
}

//使用keys屬性取得所有的key集合.
ICollection KeyColl = ht.Keys;
foreach (string k in KeyColl)
{
Console.WriteLine("key={0}", k);
Console.ReadKey();
}

//使用Remove方法移除帶指定key的元素.
Console.WriteLine("移除key為\"01\"的元素");
ht.Remove("01");
if (!ht.ContainsKey("01"))
{
Console.WriteLine("key為\"01\"的元素已經被移除了!");
Console.ReadKey();
}
}
}

  以上是我的總結,歡迎各位園友與我交流,謝謝!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.