服務(wù)熱線(xiàn)
153 8323 9821
泛型最常見(jiàn)的用途是泛型集合,命名空間System.Collections.Generic 中包含了一些基于泛型的集合類(lèi),使用泛型集合類(lèi)可以提供更高的類(lèi)型安全性,還有更高的
很多非泛型集合類(lèi)都有對(duì)應(yīng)的泛型集合類(lèi),下面是常用的非泛型集合類(lèi)以及對(duì)應(yīng)的泛型集合類(lèi):
| 非泛型集合類(lèi) | 泛型集合類(lèi) |
| ArrayList | List<T> |
| HashTable | DIctionary<T> |
| Queue | Queue<T> |
| Stack | Stack<T> |
| SortedList | SortedList<T> |
我們用的比較多的非泛型集合類(lèi)主要有 ArrayList類(lèi) 和 HashTable類(lèi)。我們經(jīng)常用HashTable 來(lái)存儲(chǔ)將要寫(xiě)入到數(shù)據(jù)庫(kù)或者返回的
下面是簡(jiǎn)單的例子,包括聲明,填充鍵值對(duì),移除鍵值對(duì),遍歷鍵值對(duì)
Dictionary<string, string> myDic = new Dictionary<string, string>();
myDic.Add("aaa", "111");
myDic.Add("bbb", "222");
myDic.Add("ccc", "333");
myDic.Add("ddd", "444");
//如果添加已經(jīng)存在的鍵,add方法會(huì)拋出異常
try

{
myDic.Add("ddd","ddd");
}
catch (ArgumentException ex)

{
Console.WriteLine("此鍵已經(jīng)存在:" + ex.Message);
}
//解決add()異常的方法是用ContainsKey()方法來(lái)判斷鍵是否存在
if (!myDic.ContainsKey("ddd"))

{
myDic.Add("ddd", "ddd");
}
else

{
Console.WriteLine("此鍵已經(jīng)存在:");
}
//而使用索引器來(lái)負(fù)值時(shí),如果建已經(jīng)存在,就會(huì)修改已有的鍵的鍵值,而不會(huì)拋出異常
myDic ["ddd"]="ddd";
myDic["eee"] = "555";
//使用索引器來(lái)取值時(shí),如果鍵不存在就會(huì)引發(fā)異常