日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Hashtable, ArrayList, List, Dictionary学习

發(fā)布時(shí)間:2024/4/14 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hashtable, ArrayList, List, Dictionary学习 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Hashtable用法
在.NET Framework中,Hashtable是System.Collections命名空間提供的一個(gè)容器,用于處理和表現(xiàn)類似key/value的鍵值對(duì),其中key通常可用來(lái)快速查找,同時(shí)key是區(qū)分大小寫;value用于存儲(chǔ)對(duì)應(yīng)于key的值。Hashtable中key/value鍵值對(duì)均為object類型,所以Hashtable可以支持任何類型的key/value鍵值對(duì).。
在哈希表中添加一個(gè)key/value鍵值對(duì):HashtableObject.Add(key,value);
在哈希表中去除某個(gè)key/value鍵值對(duì):HashtableObject.Remove(key);
從哈希表中移除所有元素: HashtableObject.Clear();
判斷哈希表是否包含特定鍵key: HashtableObject.Contains(key);

?? Hashtable ht = new Hashtable();
?? ht.Add("a", 123);
?? ht.Add("b", 456);

?? // 遍歷哈希表需要用到DictionaryEntry Object
???? foreach (DictionaryEntry de in ht)
??????{
??????????MessageBox.Show(de.Key.ToString() + "?? " + de.Value.ToString());
??????}

?? //對(duì)哈希表進(jìn)行排序
????ArrayList akeys = new ArrayList(ht.Keys); //別忘了導(dǎo)入System.Collections
????akeys.Sort(); //按字母順序進(jìn)行排序
????foreach (string skey in akeys)
??????{
??????????MessageBox.Show(skey + ":");
??????????MessageBox.Show(ht[skey].ToString());//排序后輸出
??????}
ArrayList用法
private static void AddToList(ArrayList list, string p)
????????{
????????????if (list.Contains(p) == false)
????????????????list.Add(p);
????????}

????????private void button1_Click(object sender, EventArgs e)
????????{
????????????ArrayList list = new ArrayList();
????????????AddToList(list, "Table1");
????????????AddToList(list, "Table4");
????????????AddToList(list, "Table1");
????????????AddToList(list, "Table3");
????????????AddToList(list, "Table2");
????????????AddToList(list, "Table2");

????????????foreach (string s in list)
????????????{
????????????????MessageBox.Show(s);
????????????}
?????? }
List
List<string> listStr = new List<string>();
????????????listStr.Add("123");
????????????listStr.Add("456");
????????????listStr.Add("789");
???????? MessageBox.Show(listStr[2]);//”789”

Dictionary
泛型的優(yōu)點(diǎn)(C# 編程指南)
C# 中典型的范型結(jié)構(gòu)除了熟悉的 IList , HashTable之外還有一個(gè)并不常見(jiàn)的Dictionary集合。
相比較而言,Dictionary的性能是最好的,也屬于輕便型的集合。效率要大于HashTable,其主要原因是Dictionary支持強(qiáng)類型聲明的。
在公共語(yǔ)言運(yùn)行庫(kù)和 C# 語(yǔ)言的早期版本中,通用化是通過(guò)在類型與通用基類型 Object 之間進(jìn)行強(qiáng)制轉(zhuǎn)換來(lái)實(shí)現(xiàn)的,泛型提供了針對(duì)這種限制的解決方案。通過(guò)創(chuàng)建泛型類,您可以創(chuàng)建一個(gè)在編譯時(shí)類型安全的集合。
添加到 ArrayList 中的任何引用或值類型都將隱式地向上強(qiáng)制轉(zhuǎn)換為 Object。如果項(xiàng)是值類型,則必須在將其添加到列表中時(shí)進(jìn)行裝箱操作,在檢索時(shí)進(jìn)行取消裝箱操作。強(qiáng)制轉(zhuǎn)換以及裝箱和取消裝箱操作都會(huì)降低性能;在必須對(duì)大型集合進(jìn)行循環(huán)訪問(wèn)的情況下,裝箱和取消裝箱的影響非常明顯。
對(duì)于客戶端代碼,與 ArrayList 相比,使用 List<T> 時(shí)添加的唯一語(yǔ)法是聲明和實(shí)例化中的類型參數(shù)。雖然這稍微增加了些編碼的復(fù)雜性,但好處是您可以創(chuàng)建一個(gè)比 ArrayList 更安全并且速度更快的列表,特別適用于列表項(xiàng)是值類型的情況。
Dictionary 泛型類提供了從一組鍵到一組值的映射。字典中的每個(gè)添加項(xiàng)都由一個(gè)值及其相關(guān)聯(lián)的鍵組成。通過(guò)鍵來(lái)檢索值的速度是非常快的,接近于 O(1),這是因?yàn)?Dictionary 類是作為一個(gè)哈希表來(lái)實(shí)現(xiàn)的。
1、
Dictionary<int, string> fruit = new Dictionary<int, string>();
???????? //加入重復(fù)鍵會(huì)引發(fā)異常
???????? fruit.Add(1, "蘋果");
???????? fruit.Add(2, "桔子");
???????? fruit.Add(3, "香蕉");
???????? fruit.Add(4, "菠蘿");

???????? //因?yàn)橐肓朔盒?#xff0c;所以鍵取出后不需要進(jìn)行Object到int的轉(zhuǎn)換,值的集合也一樣
???????? foreach (int i in fruit.Keys)
?????????? {
?????????????? MessageBox.Show("鍵是:"+i.ToString()+ "值是:"+ fruit);
????}
2、
Dictionary<string , string> fruit = new Dictionary<string, string>();

????????????//加入重復(fù)鍵會(huì)引發(fā)異常
????????????fruit.Add("1", "蘋果");
????????????fruit.Add("2", "桔子");
????????????fruit.Add("3", "香蕉");
????????????fruit.Add("4", "菠蘿");

????????????//因?yàn)橐肓朔盒?#xff0c;所以鍵取出后不需要進(jìn)行Object到int的轉(zhuǎn)換,值的集合也一樣
????????????foreach (string i in fruit.Keys)
????????????{
????????????????MessageBox.Show("鍵是:"+i.ToString()+ "值是:"+ fruit);
????????????}

轉(zhuǎn)載于:https://www.cnblogs.com/silverLee/archive/2009/11/05/1596778.html

總結(jié)

以上是生活随笔為你收集整理的Hashtable, ArrayList, List, Dictionary学习的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 恶虐女帝安卓汉化版最新版本 | 青青草公开视频 | a视频免费| 麻豆精品国产传媒av绿帽社 | 日韩欧美超碰 | 久久久久噜噜噜亚洲熟女综合 | 欧美 日韩 综合 | 男人天堂电影 | 色99在线| 国产精品成人免费一区二区视频 | 伊人色网 | 国产视频一区二 | 中文字幕免费播放 | 国产成人精品二区三区亚瑟 | 豆花在线观看 | 天堂网中文 | 欧美操穴 | 一本久道久久综合无码中文 | 国产一在线观看 | 丰满少妇高潮一区二区 | 青青草国产成人av片免费 | 黄频网站在线观看 | 婷婷五月综合激情 | 青青草在线视频免费观看 | 一个色综合网 | xxxx视频在线观看 | 麻豆精品免费视频 | 成年人激情视频 | 久久99国产精品视频 | 永久免费看mv网站入口亚洲 | 在线的av | 中文在线观看av | 四季av综合网站 | 久草视频福利在线 | 欧美激情爱爱 | 91成人在线观看喷潮蘑菇 | 91爱国产 | 性xxxxx大片免费视频 | 国产视频不卡 | 精品一二三区久久aaa片 | 亚洲国产日韩在线一区 | 欧美在线你懂的 | 久久免费看少妇高潮v片特黄 | 成人性生活毛片 | 国产乱女淫av麻豆国产 | 日韩午夜影院 | 超碰个人在线 | 奇米色777 | 在线观看成人免费视频 | 天天综合人人 | 亚洲自拍色图 | 女同性αv亚洲女同志 | 亚洲色图视频在线 | 亚欧洲精品视频 | 特级西西人体 | 日韩一区二区免费视频 | 激情五月色婷婷 | 亚洲熟妇丰满大屁股熟妇 | 蜜臀网在线 | 欧美精品一级在线观看 | 日本性欧美 | 欧美激情精品久久久久久 | 中文字幕一区在线播放 | 99er在线| 熟女俱乐部一区二区视频在线 | 毛片av在线播放 | 国产精品27p | 奇米一区二区 | 99re6热在线精品视频播放 | 中文字幕av免费观看 | 水蜜桃色314在线观看 | 国产手机在线播放 | 2021天天干 | 日本欧美一区二区三区不卡视频 | jizz欧美性11 | 国产97av | www.com欧美 | 亚洲第一色网站 | 久久国语精品 | 天天插天天射 | 日韩欧美在线中文字幕 | 国产精品一二三区在线观看 | 中文字幕人妻丝袜二区 | 永久免费在线观看av | 国产做a| 国内一级视频 | 六十路息与子猛烈交尾 | 91传媒在线免费观看 | 三级爱爱 | 国产黄色的视频 | 人妻熟女一区二区三区app下载 | 一级片视频免费 | 深夜福利一区 | porn国产 | 性色欲情网站iwww九文堂 | 欧美人与禽zozzo性之恋的特点 | 28一20岁女人一级 | 五月天激情电影 | 人妻天天爽夜夜爽一区二区三区 |