忽然用到了Hashtable類型的返回值。突然也就想到了ArryList,作為比較,就總結了一下。
1.HashTabel
在.NET Framework中,Hashtable是System.Collections命名空間提供的集合對象,同時它也是一個可變長的數組,用於處理和表現類似key/value的鍵值對,其中key通常可用來快速查找,同時key是區分大小寫;value用於存儲對應於key的值。Hashtable中key/value鍵值對均為object類型,所以Hashtable可以支持任何類型的key/value鍵值對.。
哈希表的簡單操作
在哈希表中添加一個key/value鍵值對:HashtableObject.Add(key,value);
在哈希表中去除某個key/value鍵值對:HashtableObject.Remove(key);
從哈希表中移除所有元素: HashtableObject.Clear();
判斷哈希表是否包含特定鍵key: HashtableObject.Contains(key);
如:Hashtable ht=new Hashtable();
Ht.Add(×,×)
… …
遍歷哈希表
遍歷哈希表需要用到DictionaryEntry Object,代碼如下:
foreach(DictionaryEntry de in ht) //ht為一個Hashtable實例
{
Console.WriteLine(de.Key);//de.Key對應於key/value鍵值對key
Console.WriteLine(de.Value);//de.Key對應於key/value鍵值對value
}
2. ArryList(數組列表)
ArrayList對象就是一個可變長的數組,可以根據需要添加元素.使用ArrayList的方法可以向數組列表中添加元素,或取出,修改某個元素.
如:
ArrayList MyArrayList = new ArrayList();
MyArrayList.add("Caoxi");
MyArrayList.Clear();
ArrayList中取出的對象都是object類型,使用前要將其轉換成合適的類型.
ArrayList theArrayList = new ArrayList();
theArrayList.Add("1");
theArrayList.Add("2");
string s = (string)theArrayList[0];
string s1 = (string)theArrayList[1];
注意Contains()方法 如果ArrayList中包含參數提供的對象,則返回true,否則返回false
if (theArrayList.Contains("1")) //判斷字符"1"是否存在於ArrayList
關於ArryList的另外一種用法:
ArrayList objAry=new ArrayList();
objAry=(ArrayList)Application["users"]; //Application["users"]是存儲用戶的對象,轉換為ArryList對象
objAry.Add(this.txtName.Text); //繼續添加當前用戶
Application.Lock(); //鎖定對象,防止其他用戶同時登陸
Application["users"]=objAry; //這次的Application["users"]已經加入了當前的用戶
Application.UnLock(); //解鎖
//取出數據
ArrayList objAry=(ArrayList)Application["users"];
for(int i=0;i<objAry.Count;i++)
{
strOnLine+="<B>"+objAry[i].ToString()+ "</B><BR>";
}
Response.Write(strOnLine);