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>是一個泛型構造