C# 集合
C#中的數(shù)組實現(xiàn)為System.Array類的實例,它們只是集合類(Collection Class)中的一種類型。集合類一般用于處理對象列表,其功能比簡單數(shù)組要多,功能大多是通過實現(xiàn)System.Collections名稱空間中的接口而獲得的,因此集合的語法己經(jīng)標準化了。這個名稱空間還包含其他一些有趣的東西,例如,以不同于SystemAmy的方式實現(xiàn)這些接口的類。
集合的功能(包括基本功能,例如,用[index]語法訪問集合中的項)可以通過接口來實現(xiàn),所以不僅可以使用基本集合類,例如Sj/stem.Array,還可以創(chuàng)建自己的定制集合類。這些集合可以專用于要枚舉的對象(即要從中建立集合的對象)。這么做的一個優(yōu)點是定制的集合類可以是強類型化的。也就是說,從集合中提取項時,不需要把它們轉(zhuǎn)換為正確類型。另一個優(yōu)點是提供專用的方法,例如,可以提供獲得項子集的快捷方法。在撲克牌示例中,可以添加一個方法,來獲得特定花色中的所有Card項。
System.Collections名稱空間中的以下幾個接口提供了基本的集合功能:
?lEnumerable——可以迭代集合中的項。
?ICoIlection——繼承于IEnumerable。可以獲取集合中項的個數(shù),并能把項復制到一個簡單的數(shù)組類型中。
?IList——繼承于IEnumerable和ICoIlection。提供了集合的項列表,允許訪問這些項,并提供其他一些與項列表相關(guān)的基本功能。
?IDictionary——繼承于IEnumerable和ICoIlection。類似于IList,但提供了可通過鍵值(而不是索引)訪問的項列表。
System.Array類實現(xiàn)了IList, ICollection和IEnumerable,但不支持IList的一些更高級功能,它表示大小固定的項列表。
點擊加載更多評論>>