C#中Hash table的一些操作方法講解
散列表(Hash table,也叫哈希表),是根據(jù)關(guān)鍵碼值(Key value)而直接進(jìn)行訪問的數(shù)據(jù)結(jié)構(gòu)。也就是說,它通過把關(guān)鍵碼值映射到表中一個位置來訪問記錄,以加快查找的速度。這個映射函數(shù)叫做散列函數(shù),存放記錄的數(shù)組叫做散列表。
今天難得有了半天時間,鳴炮!任務(wù)都做完了,我終于有點(diǎn)時間去分析公司這個項(xiàng)目的代碼,看到了其中有好多的對Hash table的應(yīng)用。有好多的BLL層的代碼的方法傳入的是hashtable.其實(shí)我所做的模塊中,如果有超過三個變量以上的參數(shù)傳入我會將這些封裝成一個個對象,可能是大學(xué)一直是用c語言,太多了參數(shù)的話就將其弄成結(jié)構(gòu)體,到了C#我就封成對象,既然做的面向?qū)ο?,為什么傳參?shù)還這樣一個個用hashtable 一個個的add進(jìn)來?我表示我初入C#,我沒有去深究為什么公司大部分的都是用傳入hash table的方式做參數(shù)。廢話不多說了。記錄一下對hash table的操作:
1、hash table要引入命名空間:system.colloctions;
Hashtable lobjHashtable = new Hashtable(); //實(shí)例化
lobjHashtable.Add(Key,value); //增加一個鍵值對,這里面這個key要是唯一的!
lobjHashtable.Remove(Key);//移除一個key
lobjHashtable.Clear();//清除所有的鍵值對
lobjHashtable.Contains(Key);// 是否包含某一個特定的Kye
//eg
lobjHashtable.Add("key1","value1");
lobjHashtable.Add("key2","value2");
lobjHashtable.Add("key3","value3");
//取出某一個鍵的值
string lstrTemp = (string)lobjHashtable["key1"];
c# 表的遍歷方法:一下提供兩種遍歷hash table的方法
foreach(DictionaryEntry objDE in lobjHashtable)
{
string lstrKey = objDE.Key.ToString();//鍵
string lstrValue = objDE.Value.ToString();//值
}
System.Collections.IDictionaryEnumerator emutor = lobjHashtable.GetEnumerator();
while(emutor.MoveNext())
{
string lstrKey = emutor.Key.ToString();
string lstrValue emutor.Value.ToString();
}
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
- C#如何給枚舉類型增加一個描述特性詳解
- C#學(xué)習(xí)教程之Socket的簡單使用
- C#基于HttpWebRequest實(shí)現(xiàn)發(fā)送HTTP請求的方法分析
- C#實(shí)現(xiàn)Json轉(zhuǎn)DataTable并導(dǎo)出Excel的方法示例
- C# [ImportDll()] 知識小結(jié)
- C#實(shí)現(xiàn)Word轉(zhuǎn)為PDF的方法
- C#將Excel轉(zhuǎn)成PDF的方法
- C# Winform實(shí)現(xiàn)石頭剪刀布游戲
- c#操作mongodb插入數(shù)據(jù)效率
- C#使用base64對字符串進(jìn)行編碼和解碼的測試
相關(guān)文章
使用VS2010 C#開發(fā)ActiveX控件(下),完整代碼打包下載
我們介紹了開發(fā)、打包、發(fā)布、使用ActiveX控件的全過程。在演示程序中,我們沒有調(diào)用串口通信和讀卡器Dll程序,由于我們讀卡器的原始Dll是使用其它語言進(jìn)行開發(fā)的,對C#來說,是非托管代碼,因此我們還需要在代碼級別進(jìn)行非托管代碼的安全性設(shè)置2011-05-05
利用windows性能計(jì)數(shù)器進(jìn)行服務(wù)器性能監(jiān)控示例分享
這篇文章主要介紹了利用windows性能計(jì)數(shù)器進(jìn)行服務(wù)器性能監(jiān)控的方法,大家可以參考擴(kuò)展其它功能2014-01-01
C#實(shí)現(xiàn)Excel轉(zhuǎn)PDF時設(shè)置內(nèi)容適應(yīng)頁面寬度
將Excel轉(zhuǎn)為PDF格式時,通常情況下轉(zhuǎn)換出來的PDF頁面都是默認(rèn)的寬度大小。所以本文提供了C#實(shí)現(xiàn)Excel轉(zhuǎn)PDF時設(shè)置內(nèi)容適應(yīng)頁面寬度的示例代碼,需要的可以參考一下2022-04-04
C#使用Socket實(shí)現(xiàn)通信的方法示例
這篇文章主要介紹了C#使用Socket實(shí)現(xiàn)通信的方法示例,文章按照 Socket 的 創(chuàng)建、連接、傳輸數(shù)據(jù)、釋放資源的過程來寫,給出方法、參數(shù)的詳細(xì)信息,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下2024-06-06
C#實(shí)現(xiàn)NPOI的Excel導(dǎo)出詳解
這篇文章主要介紹了C#實(shí)現(xiàn)NPOI的Excel導(dǎo)出的示例代碼,文中的實(shí)現(xiàn)過程講解詳細(xì),對我們的學(xué)習(xí)或工作有一定的幫助,感興趣的可以跟隨小編一起學(xué)習(xí)一下2022-01-01

