No. | Collection | Index | Key | 元素 型別 |
Sorted | Generic | 元素個數 | 優先 | Description |
1 | Array | Y | N | 宣告時指定 | N | N | 固定. | 1.2 | 存放固定個數的元素, 宣告時需指定元素型別.
|
2 | StringCollection | Y | N | string | N | N | 變動 | 1.1 | 存放string型別的元素清單.
|
3 | ArrayList | Y | N | Object | N | N | 變動 | 2 | 存放Object型別的元素清單.
|
4 | List<T> | Y | N | 宣告時指定 | N | Y | 變動 | 3.3 | 存放指定型別的元素清單.
|
5 | HashSet<T> | N | Y | 宣告時指定 | N | Y | 變動 | 3.2 | 等於只有TKey的Dictionary<TKey, TValue>. TKey經過雜湊函數處理後才存取, 以提高搜尋效能.
|
6 | SortedSet<T> | N | Y | 宣告時指定 | Y | Y | 變動 | 3.1 | 等於只有TKey的SortedDictionary<TKey, TValue>. .Net 4.0以上才支援.
|
No. | Collection | 元素型別 | Index | Key | Value | Sorted | Generic | 優先 | Description |
1 | StringDictionary | DictionaryEntry | N | string | string | N | N | 1.1 | 以hash table存放(key與value均為string型別)的元素清單. |
2 | Hashtable | DictionaryEntry |
N | Object | Object | N | N | 2.2 | 存放(Key和Value均為Object型別)的DictionaryEntry元素清單. Key值會經過運算雜湊函數處理後存取, 以提高搜尋效能. |
3 | Dictionary<TKey, TValue> | KeyValuePair | N | 依宣告 | 依宣告 | N | Y | 3.3 | 存放指定型別的KeyValuePair元素清單. 內部以Tree方式實作. |
4 | SortedDictionary<TKey, TValue> | KeyValuePair | N | 依宣告 | 依宣告 | Y | Y | 3.2 | 存放(Key和Value為指定型別)的KeyValuePair元素清單, 並維持排序. 僅能以Key存取元素. 內部以Tree方式實作. |
5 | OrderedDictionary | DictionaryEntry | Y | Object | Object | N | N | 2.3 | 存放(Key與Value均為Object型別)的DictionaryEnrty元素清單. ,
並維持排序. 可同時使用Index或Key存取元素. Index值會隨著Key值變動. 內部以Tree方式實作. |
6 | NameValueCollection | Name=string Value=string |
Y | string 可重複 |
string | N | N | 1.2 | 存放(Name與Value均為string型別)的元素清單. 可同時以Index或Name值存取元素. 同一個Name可以重複, 也可以存放多組的字串. 常用於headers, query string and form data. |
7 | SortedList | DictionaryEntry |
Y |
Object | Object | Y | N | 2.1 | 存放(Key和Value均為Object型別)的DictionaryEntry元素清單, 並維持排序.
可同時使用Index或Key存取元素. Index值會隨著Key值變動. 內部以兩個class維護index跟Key. 須使用較多的記憶體. |
8 | SortedList<TKey, TValue> | KeyValuePair | Y | 依宣告 | 依宣告 | Y | Y | 3.1 | 存放(指定型別的Key和Value)的KeyValuePair元素清單, 並維持排序. 可同時使用Index或Key存取元素.
Index值會隨著Key值變動. 內部以兩個class維護index跟Key. 須使用較多的記憶體. |
No. | Name | Index | Key | Sorted | Description |
1 | Array 陣列 |
Y | N | N | 存放(宣告時指定型別及元素數量)陣列.
|
No. | Collections | Index | Key | Sorted | Description |
1 | ArrayList | Y | N | N | 存放Object型別的元素清單. 效能較差, 不建議使用! 若元素型別不相同(heterogeneous),則優先改用List<Object>, 否則改用List<T>. (註: 型別相同為同質型別(homogeneous), 否則為異質型別(heterogeneous). |
2 | CollectionBase | Y | N | N | abstract base物件可用於設計自訂的Collection物件. |
3 | DictionaryBase | N | Y | N | abstract base物件可用於設計自訂的Dictionary物件. |
4 | Hashtable | N | Y | N | 存放(Key和Value均為Object型別)的DictionaryEntry元素清單. Key值會經過運算雜湊函數處理後存取, 以提高搜尋效能.
|
5 | Queue | 佇列. FIFO. | |||
6 | SortedList | Y | Y | Y | 存放(Key和Value均為Object型別)的DictionaryEntry元素清單, 並維持排序. 可同時使用Index或Key存取元素. Index值會隨著Key值變動. |
7 | Stack | 堆疊. FILO. |
No. | Name | Index | Key | Sorted | Description |
1 | Dictionary<TKey, TValue> | N | Y | N | 存放指定型別的KeyValuePair元素清單. |
2 | HashSet<T> | N | Y | N | 存放指定型別的Key元素清單. 等於只有TKey的Dictionary, 並且TKey經過雜湊函數處理後才存取, 以提高搜尋效能. |
3 | KeyValuePair<TKey, TValue> Structure | 以Structure型別存放Dictionary<TKey, TValue>.Enumerator.Current屬性. 使用於Dictionary foreach敘述時, 讀取單一元素. |
|||
4 | LinkedList<T> | 以雙向連結存放元素清單. | |||
5 | List<T> | Y | N | N | 存放指定型別的元素清單. |
6 | Queue<T> | 以佇列存放指定型別的元素清單. | |||
7 | SortedDictionary<TKey, TValue> | N | Y | Y | 存放(Key和Value為指定型別)的KeyValuePair元素清單, 並維持排序. 僅能以Key存取元素. |
8 | SortedList<TKey, TValue> | Y | Y | Y | 存放(指定型別的Key和Value)的KeyValuePair元素清單, 並維持排序. 可同時使用Index或Key存取元素. Index值會隨著Key值變動. |
9 | SortedSet<T> | N | Y | Y | 等於只有TKey的SortedDictionary<TKey, TValue>. .Net 4.0以上才有支援. |
10 | Stack<T> | 以堆疊存放指定型別的元素清單. |
No. | Name | Index | Key | Sorted | Description |
1 | Collection<T> | Y | N | N | abstract物件可自訂Collection存放指定型別的元素清單. 必須繼承使用. |
2 | KeyedCollection<TKey, TItem> | Y | Y | N | abstract物件可自訂KeyCollection存放指定型別的(TKey與TItem)元素清單. 可同時以Index或Key值存取元素.
必須繼承使用. 適用例: TKey=訂單編號, TItem=訂單屬性. |
No. | Name | Index | Key | Sorted | Description |
1 | NameObjectCollectionBase | Y | Y | N | abstract物件, 可用來繼承存放(Key為string, Value為Object)型別的元素清單. 可同時以Index或Key值存取元素. |
2 | NameValueCollection | Y | Y | N | 存放(Key與Value均為string型別)的元素清單. 可同時以Index或Key值存取元素. 同一個Key可以存放多組的字串. 適用於headers, query string and form data. |
3 | OrderedDictionary | Y | Y | N | 存放(Key與Value均為Object型別)的DictionaryEnrty元素清單. 可同時以Index或Key值存取元素. |
4 | StringCollection | Y | N | N | 存放(string型別)的元素清單. 可以index存取元素. |
5 | StringDictionary | N | Y | N | 以hash table存放(key與value均為string型別)的元素清單. 可以key存取元素. |
6 | StringEnumarator | 支援StringCollection的foreach enumerator. |
Date | Author | Description |
2017-01-30 | Honda | copy from luckstat document. |
2017-03-17 | Honda | 更新範例程式. |
2017-04-22 | Honda | 補充說明. |