整理一下集合型別對應的泛型型別:
集合型別對應泛型型別
集合型別 | 泛型型別 |
ArrayList | List(Of T) |
Queue | Queue(Of T) |
Stack | Stack(Of T) |
Hashtable | Dictionary(Of TKey, TValue) |
SortedList | SortedList(Of T) |
ListDictionary | Dictionary(Of TKey, TValue) |
HybridDictionary | Dictionary(Of TKey, TValue) |
OrderedDictionary | Dictionary(Of TKey, TValue) |
NameValueCollection | Dictionary(Of TKey, TValue) |
DictionaryEntry | KeyValuePair(Of T) |
StringCollection | List(Of T) |
StringDictionary | Dictionary(Of TKey, TValue) |
N/A | LinkedList(Of T) |
基本上是能使用泛型型別就盡量使用泛型型別,我覺得使用集合或泛型比較難的是,
什麼時候要使用那一個集合或那一個泛型,這可能就需要實務與經驗。
集合
集合型別 | 說明 |
ArrayList | 使用大小會視需要動態增加的陣列,實作 IList 介面。 |
Queue | 表示物件的先進先出 (FIFO) 集合。 |
Stack | 表示簡單之物件的後進先出 (Last-In First-Out,LIFO) 非泛型集合。 |
Hashtable | 表示根據索引鍵的雜湊程式碼組織而成的索引鍵/值組集合。 |
SortedList | 表示索引鍵/值組配對的集合,這個集合按索引鍵排序,而且可以按索引鍵和索引存取。 |
ListDictionary | 使用單向連結串列 (Singly-Linked List) 實作 IDictionary。建議的集合通常會包含 10 個以下的項目。 |
HybridDictionary | 若為小型集合,則使用 ListDictionary 實作 IDictionary,在它成為大型集合時,切換為 Hashtable。 |
OrderedDictionary | 表示可依索引鍵或索引存取的索引鍵/值組集合。 |
NameValueCollection | 表示相關 String 索引鍵和 String 值的集合,而這些可以利用索引鍵或索引來存取。 |
DictionaryEntry | 定義可設定或擷取的字典索引鍵/值組配對。 |
StringCollection | 表示字串的集合。 |
StringDictionary | 使用強型別索引鍵和值,將雜湊資料表實作為字串,而非物件。 |
泛型
泛型型別 | 說明 |
List(Of T) | 表示可以依照索引存取的強型別物件清單。提供搜尋、排序和管理清單的方法。 |
Queue(Of T) | Queue(Of T) |
Stack(Of T) | 表示相同任意型別之執行個體的可變大小的後進先出 (Last-In First-Out,LIFO) 集合。 |
Dictionary(Of TKey, TValue) | 表示索引鍵和值的集合。 |
SortedDictionary(Of TKey, TValue) | 表示根據索引鍵,所排序的索引鍵/值組集合。 |
SortedList(Of TKey, TValue) | 表示根據關聯的 IComparer<(Of <(T>)>) 實作,依索引鍵所排序的索引鍵/值組集合。 |
KeyValuePair(Of TKey,TValue) | 定義可設定或擷取的索引鍵/值組。 |
LinkedList(Of T) | 表示雙向連結串列 (Doubly-Linked List)。 |
沒有留言:
張貼留言
感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。