整理一下集合型別對應的泛型型別:
集合型別對應泛型型別
| 集合型別 | 泛型型別 | 
| 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)。 | 
沒有留言:
張貼留言
感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。