集合和泛型的所屬命名空間是:
- System.Collections
包含介面和類別,定義各種集合的物件,例如清單、佇列、位元陣列、雜湊表和字典。簡單集合是強型別 (Strongly Typed),不需要轉型(Cast)。 - System.Collections.Generic
包含定義了泛型集合的介面和類別,可讓使用者建立強型別 (Strongly Typed) 的泛型集合,以提供比非泛型強型別集合更好的型別安全 (Type Safety) 和效能。
集合(Collections)中常用的類別有:ArrayList、Queue、Stack這幾個類別,而要建立自己的集合類別,則可以使用CollectionBase和DictionaryBase兩個類別繼承擴充。
在System.Collections命名空間中定義幾個常用的介面:
- ICollection
定義所有非泛型集合的大小、列舉值和同步方法。 - IEnumerable
公開能逐一查看非泛型集合內容一次的列舉值。 - IList
表示可以個別由索引存取之物件的非泛型集合。 - IDictionary
表示索引鍵/值組的非泛型集合。
泛型(Generics)的功能則是更強更好用!常用的類別有:Dictionary(Of TKey, TValue)、LinkedList(Of T)、List(Of T)、Queue(Of T)、Stack(Of T)。在System.Collections.Generic命名空間中也提供很多結構和介面可以使用,如果要自己定義泛型,通常是使用<T>這樣的方式,詳細請參閱泛型 (C# 程式設計手冊),泛型功能很強大,比較複雜所以要花時間仔細閱讀。
對於C++的程式設計人員,C#的泛型相當於C++中的樣板(Template)。
沒有留言:
張貼留言