C#罕見的幾種聚集 ArrayList,Hashtable,List<T>,Dictionary<K,V> 遍歷辦法比較。本站提示廣大學習愛好者:(C#罕見的幾種聚集 ArrayList,Hashtable,List<T>,Dictionary<K,V> 遍歷辦法比較)文章只能為提供參考,不一定能成為您想要的結果。以下是C#罕見的幾種聚集 ArrayList,Hashtable,List<T>,Dictionary<K,V> 遍歷辦法比較正文
1、先來分離引見一下ArrayList,Hashtable,List<T>,Dictionary<K,V>
1.ArrayList靜態數組,保留值的時刻比擬好用
2.Hashtable以存儲鍵值對的方法存儲。value,和key
3.List<T> 和 Dictionary<K,V> 應當是泛型吧,可以保留實體類
2、各類聚集的遍歷辦法演示
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不克不及用索引拜訪,所以遍歷一個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); } //同時遍歷,DictionaryEntry一個構造 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++) { //遍用時不須要類型轉換 Console.WriteLine(list[i]); } //foreach遍歷 foreach (SE obj in list) { //遍用時不須要類型轉換 Console.WriteLine(obj); }
4.Dictionary<K,V>
//遍歷Values foreach (SE se in list.Values) { //遍用時不須要類型轉換 Console.WriteLine(se); } //同時遍歷 foreach (KeyValuePair<string, SE> en in list) { Console.WriteLine(en.Key); Console.WriteLine(en.Value.Name); } //KeyValuePair<TKey,TValue>是一個泛型構造