標籤:
.Net中大量的集合對象是否曾讓你頭痛,那麼現在就讓我作為你的“導遊”帶著你走出來。協助你在System.Collections名域中找到自己的方向。 集合提供了一種將任意對象格式化儲存的方法,我們都知道在日常的程式設計中,它們是多麼有協助。接下來就隨我找到它並認識它。
一、定義
從.NET的角度來看,一個集合可以被定義為一個實現了一個或多個System.Collections.ICollection、System.Collections.IDictionary和System.Collections.IList介面的對象。它用來格式化儲存任意對象,從而讓我們的資料更為靈活。
二、分類
根據以上定義,可以在System.Collections名域空間範圍內的“內建”的集合分為三類:
(一)有序集合:只實現ICollection介面的集合,事實上的插入的順序決定了對象從集合中被檢索到的順序,System.Collections.Stack類和System.Collections.Queue是兩個ICollection集合的例子。
(二)索引集合:實現了IList介面的集合,他們的內容可以通過一個以零為基準的數字索引中檢索到,就像數組一樣。System.Collections.ArrayList對象是索引集合的一個例子。
(三)鍵值集合:實現了IDictionary介面的集合,包含了可以按照某些關聯鍵值檢索到的項目,IDictionary的內容通常以鍵值為基礎按照某些形式進行排序,在檢索時,這些內容可以按照排好序的枚舉表示。
System.Collections.HashTable類實現了IDictionary的介面。
正如你所看到的,一個給定集合的功能是由專門的介面或它所實現的介面控制的,如果你對物件導向程式設計沒有大量的接觸,這一點看上去即使不是毫無意義,也會讓人非常困惑。然而,你應當知道,以這種方式建立一個對象的功能,不僅給與了相似的對象一系列相似的方法簽名,而且還允許在必要的時候將這些對象當作本質上相同的類來對待,這就是在物件導向程式設計中所說的多態性。
三、總結
以上只是一些簡單的集合知識,在今後會多多補充。
.net集合對象解惑篇