-
using System
Array(數組)
- C#中所有數組的基類。
- 數組在內存中是連續存儲的,所以它的索引速度非常快,賦值與修改元素也很簡單。
- 在聲明數組時的時候,必須同時指明數組的長度,過長會造成內存浪費,過短會造成數據溢出。
- System.Array.Resize這個泛型方法可以通過創建新的數組重置數組大小,多餘的數據會捨棄。
-
using System.Collections 集合類庫
ArrayList(動態數組)
- ArrayList中的元素以object的形式存儲,是一個動態數組類型,相當於List<object>。
- 對於值類型來說,往ArrayList裏添加和修改冤死都會引起裝箱和拆箱的操作。
Hashtable(哈希表)
- Hashtable存儲鍵值對,表中的鍵值對均爲object類型。
SortedList(排序列表)
- SortedList存儲的也是類型均爲object的鍵值對。
- SortedList還可以用索引來訪問該索引對應的鍵和值。(GetKey(int index); GetByIndex(int index);)
- SortedList有泛型類型SortedList<TKey, TValue>。
Stack(堆棧)
- Stack表示一個後進先出的對象集合。
- Stack中存儲的數據爲object數組,初始化時需要定義長度。
- Stack有泛型類型Stack<T>。
Queue(隊列)
- Queue代表了一個先進先出的對象集合。
- Queue中存儲的數據爲object數組,初始化時需要定義長度。
- Queue有泛型類型Queue<T>。
BitArray(點陣列)
- 表示一個使用值true和false(1和0)組成的數組,該類型是一個封閉累。
- 下爲BitArray的索引器。
public bool this[int index] { get; set; }
- 用整數構造BitArray可以直接得到該整數的二進制轉換數列。
-
using System.Collections.Generic 泛型集合空間類庫
List<T>(ArrayList的泛型等效類)
Queue<T>(Queue的泛型等效類)
Stack<T>(Stack的泛型等效類)
SortedList<T>(SortedList的泛型等效類)
DIctionary<TK,TV>(字典,Hashtable的泛型等效類)
HashSet<T>(哈希集)
- 一組不包含重複元素的集合,並且存儲的元素沒有特定順序。
- 這個類提供了高性能的操作。
SortedSet<T>(序列集)
- 一組不包含重複元素的集合,但是擁有自動排序的功能。
- 可以直接取到集合中的最大值和最小值。
- 自定義的類型T需要構造比較器。
LinkedList<T>(雙向鏈表)
SortedDictionary<T>(排序字典)
- 根據鍵進行排序的鍵值對集合。
-
using System.Collections.Specialized 強類型集合空間類庫
NameValueCollection<T>
- 鍵和值均爲字符串的集合。
- 擁有自然序列索引。
- 鍵可以重複,當鍵重複添加時,兩者的值會直接合並。
NameValueCollection myCol = new NameValueCollection();
myCol.Add("red", "aaa");
myCol.Add("green", "bbb");
myCol.Add("blue", "ccc");
myCol.Add("red", "ddd");
Console.WriteLine(myCol["red"]);
result: