C#常見的幾種集合 ArrayList,Hashtable,List<T>,Dictionary<K,V> 遍歷方法對(duì)比
一、先來(lái)分別介紹一下ArrayList,Hashtable,List<T>,Dictionary<K,V>
1.ArrayList動(dòng)態(tài)數(shù)組,保存值的時(shí)候比較好用
2.Hashtable以存儲(chǔ)鍵值對(duì)的方式存儲(chǔ)。value,和key
3.List<T> 和 Dictionary<K,V> 應(yīng)該是泛型吧,可以保存實(shí)體類
二、各種集合的遍歷方法演示
1.ArrayList
ArrayList list = new ArrayList(); //for遍歷 for (int i = 0; i < list.Count; i++) { SE se = (SE)list[i]; Console.WriteLine(se.Name); } //foreach遍歷 foreach (Object obj in list) { SE se = (SE)list[i]; Console.WriteLine(se.Name); }
2.Hashtable
Hashtable list = new Hashtable(); //Hashtable不能用索引訪問,所以遍歷一個(gè)Hashtable只能用foreache()方法 //遍歷Key foreach (Object obj in list.Keys) { Console.WriteLine((string)obj); } //遍歷Value foreach (Object obj in list.Values) { SE se = (SE)obj; Console.WriteLine(se.Name); } //同時(shí)遍歷,DictionaryEntry一個(gè)結(jié)構(gòu) foreach (DictionaryEntry en in list) { Console.WriteLine(se.Keys); COnsole.WriteLine(((SE)en.Value).Name); }
3.List<T>
//for遍歷 for (int i = 0; i < list.Count; i++) { //遍歷時(shí)不需要類型轉(zhuǎn)換 Console.WriteLine(list[i]); } //foreach遍歷 foreach (SE obj in list) { //遍歷時(shí)不需要類型轉(zhuǎn)換 Console.WriteLine(obj); }
4.Dictionary<K,V>
//遍歷Values foreach (SE se in list.Values) { //遍歷時(shí)不需要類型轉(zhuǎn)換 Console.WriteLine(se); } //同時(shí)遍歷 foreach (KeyValuePair<string, SE> en in list) { Console.WriteLine(en.Key); Console.WriteLine(en.Value.Name); } //KeyValuePair<TKey,TValue>是一個(gè)泛型結(jié)構(gòu)
相關(guān)文章
C#實(shí)現(xiàn)Winform無(wú)邊框移動(dòng)的方法
這篇文章主要介紹了C#實(shí)現(xiàn)Winform無(wú)邊框移動(dòng)的方法,涉及C#針對(duì)WinForm窗口操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09小菜編程成長(zhǎng)記(一 面試受挫——代碼無(wú)錯(cuò)就是好?)
小菜編程成長(zhǎng)記(一 面試受挫——代碼無(wú)錯(cuò)就是好?)...2006-10-10淺談C#中的for循環(huán)與foreach循環(huán)
本篇文章主要介紹了C#中的for循環(huán)與foreach循環(huán)的相關(guān)知識(shí),具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-05-05C#通過屬性名字符串獲取、設(shè)置對(duì)象屬性值操作示例
這篇文章主要介紹了C#通過屬性名字符串獲取、設(shè)置對(duì)象屬性值操作,結(jié)合實(shí)例形式總結(jié)分析了C#通過反射獲取對(duì)象屬性值并設(shè)置屬性值,獲取對(duì)象的所有屬性名稱及類型等相關(guān)操作技巧,需要的朋友可以參考下2020-03-03