集合與泛型對應
整理一下集合型別對應的泛型型別:
基本上是能使用泛型型別就盡量使用泛型型別,我覺得使用集合或泛型比較難的是,什麼時候要使用那一個集合或那一個泛型,這可能就需要實務與經驗。
集合型別對應泛型型別
| 集合型別 | 泛型型別 |
| 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)。 |
http://blog.kkbruce.net/2010/09/blog-post_09.html#.UuMaExAVGHs
沒有留言:
張貼留言