日韩性视频-久久久蜜桃-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ò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 强乱中文字幕av一区乱码 | 欧美小视频在线 | 午夜免费片 | 伊人超碰 | 国产精品视频一区二区三区不卡 | 在线视频播放大全 | 亚洲天堂影院 | 日韩av三级在线观看 | a一级黄色 | 欧美影院在线 | 乱熟女高潮一区二区在线 | 1级黄色大片儿 | 台湾佬中文字幕 | 国产香蕉av | 永久免费成人代码 | 蜜桃久久av一区 | 美女100%视频免费观看 | 香蕉国产在线视频 | 六月激情综合 | 美女视频毛片 | 视频在线亚洲 | 另类在线视频 | 国内爆初菊对白视频 | 久久狠狠爱 | 男女在楼梯上高潮做啪啪 | 黄色一级免费片 | 97超碰在线免费观看 | 一级特级毛片 | 毛片一二三区 | 国产av一区二区不卡 | 欧美一区二区三区久久 | 美女扒开腿让男生桶 | 91搞搞| 波多野结衣亚洲天堂 | 黄色av网站在线观看 | 日韩欧美aaa| 成人一二三区 | 少妇又色又紧又爽又刺激视频 | 欧美高清性| 怡红院成人av | 日本免费在线播放 | 久久2018| 日韩在线播放视频 | 色香av | 精品亚洲永久免费精品 | 国产亚韩| 欧美丰满美乳xxx高潮www | 婷婷开心激情 | 久久天天躁狠狠躁夜夜躁 | 好吊妞无缓冲视频观看 | 欧美日韩成人一区二区在线观看 | 荒岛淫众女h文小说 | 91精品亚洲 | 91麻豆国产福利精品 | 五月婷婷久久久 | 欧美激情欧美激情在线五月 | 91福利视频导航 | 久久久久久久久久一区二区三区 | 精品日韩制服无码久久久久久 | 69综合 | 高清在线一区二区三区 | 高潮白浆女日韩av免费看 | 麻豆免费看片 | 麻豆传媒在线免费 | av合集 | 成人激情社区 | 精品一区二区视频在线观看 | 久久毛片视频 | 性做久久久久久免费观看欧美 | 淫羞阁av导航 | 亚洲成人免费在线视频 | 欧美少妇xxx | 在线不欧美 | 在线观看免费中文字幕 | 成人福利在线视频 | 亚洲人成电影在线 | 日韩欧美成人一区二区 | 污视频大全 | 久久久国产网站 | 欧美精品日韩 | 伊人久久精品一区二区三区 | 九九在线观看免费高清版 | 天天干天天色综合 | a级片免费看 | 91天堂在线| 亚洲小说区图片区都市 | 国语av在线 | 在线观看的av网站 | 亚洲三级网| 综合五月天 | 日本精品一区二区视频 | 免费观看黄色网址 | 国产在线视频一区 | 国产精品tv| 午夜精品久久久久久久第一页按摩 | 欧美日韩性生活视频 | 国产黄色av | 国产精品久久久久久一区二区 | 欧美做受|