коллекции

Коллекция — это класс-контейнер, в котором содержатся и обрабатываются группы подобных объектов.
Для работы с коллекциями нужно подключить пространство имен System.Collections.

специальные коллекции

Специальные коллекции хранят элементы конкретного типа.
Нужно подключить пространство имен:
System.Collections;
System.Collections.Specialized;

CollectionsUtil — содержит фабричные методы создания коллекции
HybridDictionary — хранит не большое количество пар "ключ-значение"
ListDictionary — хранит не большое количество пар "ключ-значение"
NameValueCollection — пары "ключ-значение" отсортированы и имеют тип string
OrderedDictionary — индексируемые пары "ключ-значение"
StringCollection — хранение символьных строк
StringDictionary — значения типа string, хеш-таблица пар "ключ-значение"
ObservableCollection<T> — содержит информацию об удалении или добавлении элементов

поразрядные коллекции

Поразрядная коллекция, это единственная коллекция, хранящая группы бит и поддерживающая поразрядные операции над ними.
Нужно подключить пространство имен:
System.Collections;

BitArray

необобщенные коллекции

Необобщенные коллекции могут хранить элементы разных типов данных, включая пары "ключ-значение".
Нужно подключить пространство имен:
System.Collections;

ArrayList — динамический массив
Hashtable — хеш-таблица для пар "ключ-значение"
SortedList — отсортированный список пар "ключ-значение"
Queue — принцип FIFO, первым пришел, первым обслужен
Stack — принцип LIFO, первым пришел, последним обслужен

обобщенные коллекции

Обобщенные коллекции являются строго типизированными, поэтому тип элемента коллекции должен совпадать с типом самой коллекции.
Нужно подключить пространство имен:
System.Collections;
System.Collections.Generic;

List<T> — аналог класса ArrayList
Dictionary<TKey, TValue> — аналог класса Hashtable
SortedList<TKey, TValue> — аналог класса SortedList
Queue<T> — аналог класса Queue
Stack<T> — аналог класса Stack
HashSet<T> — хеш-таблица для уникальных пар "ключ-значение"
LinkedList<T> — двунаправленный список
SortedDictionary<TKey, TValue> — отсортированный список пар "ключ-значение"
SortedSet<T> — отсортированное множество

параллельные коллекции

Параллельные коллекции, это обобщенные коллекции, поддерживающие многопоточный доступ к коллекции.
Нужно подключить пространство имен:
System.Collections;
System.Collections.Concurrent;

ConcurrentQueue<T> — свободен от блокировок
ConcurrentStack<T>
ConcurrentBag<T>
ConcurrentDictionary<TKey, TValue> — потокобезопасная коллекция ключей и значений
ConcurrentXXX
BlockingCollection<T>