System.Collections.Generic Пространство имен

Содержит интерфейсы и классы, определяющие универсальные коллекции, которые позволяют пользователям создавать строго типизированные коллекции, обеспечивающие повышенную производительность и безопасность типов по сравнению с неуниверсальными строго типизированными коллекциями.

Классы

CollectionExtensions

Предоставляет методы расширения для универсальных коллекций.

Comparer<T>

Представляет базовый класс для реализаций универсального интерфейса IComparer<T>.

Dictionary<TKey,TValue>.KeyCollection

Представляет коллекцию ключей в Dictionary<TKey,TValue>. Этот класс не наследуется.

Dictionary<TKey,TValue>.ValueCollection

Представляет коллекцию значений в Dictionary<TKey,TValue>. Этот класс не наследуется.

Dictionary<TKey,TValue>

Представляет коллекцию ключей и значений.

EqualityComparer<T>

Представляет базовый класс для реализаций универсального интерфейса IEqualityComparer<T>.

HashSet<T>

Представляет набор значений.

KeyedByTypeCollection<TItem>

Предоставляет коллекцию, элементами которой являются типы, используемые в качестве ключей.

KeyNotFoundException

Исключение, которое выдается, когда ключ, указанный для доступа к элементу в коллекции, не совпадает ни с одним ключом в коллекции.

KeyValuePair

Создает экземпляры структуры KeyValuePair<TKey,TValue>.

LinkedList<T>

Представляет двунаправленный список.

LinkedListNode<T>

Представляет узел в LinkedList<T>. Этот класс не наследуется.

List<T>

Представляет строго типизированный список объектов, доступных по индексу. Поддерживает методы для поиска по списку, выполнения сортировки и других операций со списками.

PriorityQueue<TElement,TPriority>.UnorderedItemsCollection

Перечисляет содержимое PriorityQueue<TElement,TPriority>объекта без каких-либо гарантий упорядочения.

PriorityQueue<TElement,TPriority>

Представляет коллекцию элементов, имеющих значение и приоритет. При извлечении из очереди удаляется элемент со значением наименьшего приоритета.

Queue<T>

Представляет коллекцию объектов, основанную на принципе «первым поступил — первым обслужен».

ReferenceEqualityComparer

IEqualityComparer<T>, который использует равенство ссылок (ReferenceEquals(Object, Object)) вместо равенства значений (Equals(Object)) при сравнении двух экземпляров объекта.

SortedDictionary<TKey,TValue>.KeyCollection

Представляет коллекцию ключей в SortedDictionary<TKey,TValue>. Этот класс не наследуется.

SortedDictionary<TKey,TValue>.ValueCollection

Представляет коллекцию значений в SortedDictionary<TKey,TValue>. Этот класс не наследуется.

SortedDictionary<TKey,TValue>

Представляет коллекцию пар "ключ-значение", упорядоченных по ключу.

SortedList<TKey,TValue>

Представляет коллекцию пар "ключ-значение", упорядоченных по ключу на основе реализации IComparer<T>.

SortedSet<T>

Представляет упорядоченную коллекцию объектов.

Stack<T>

Представляет коллекцию переменного размера экземпляров одинакового заданного типа, обслуживаемую по принципу "последним пришел - первым вышел" (LIFO).

SynchronizedCollection<T>

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

SynchronizedKeyedCollection<K,T>

Предоставляет потокобезопасную коллекцию, содержащую объекты типа, заданного универсальным параметром, сгруппированные по ключам.

SynchronizedReadOnlyCollection<T>

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

Структуры

Dictionary<TKey,TValue>.Enumerator

Выполняет перечисление элементов коллекции Dictionary<TKey,TValue>.

Dictionary<TKey,TValue>.KeyCollection.Enumerator

Выполняет перечисление элементов коллекции Dictionary<TKey,TValue>.KeyCollection.

Dictionary<TKey,TValue>.ValueCollection.Enumerator

Выполняет перечисление элементов коллекции Dictionary<TKey,TValue>.ValueCollection.

HashSet<T>.Enumerator

Перечисляет элементы объекта HashSet<T>.

KeyValuePair<TKey,TValue>

Определяет пару "ключ-значение", которая может быть задана или получена.

LinkedList<T>.Enumerator

Выполняет перечисление элементов коллекции LinkedList<T>.

List<T>.Enumerator

Выполняет перечисление элементов коллекции List<T>.

PriorityQueue<TElement,TPriority>.UnorderedItemsCollection.Enumerator

Перечисляет пары PriorityQueue<TElement,TPriority>элементов и приоритетов объекта без каких-либо гарантий упорядочения.

Queue<T>.Enumerator

Выполняет перечисление элементов коллекции Queue<T>.

SortedDictionary<TKey,TValue>.Enumerator

Выполняет перечисление элементов коллекции SortedDictionary<TKey,TValue>.

SortedDictionary<TKey,TValue>.KeyCollection.Enumerator

Выполняет перечисление элементов коллекции SortedDictionary<TKey,TValue>.KeyCollection.

SortedDictionary<TKey,TValue>.ValueCollection.Enumerator

Выполняет перечисление элементов коллекции SortedDictionary<TKey,TValue>.ValueCollection.

SortedSet<T>.Enumerator

Перечисляет элементы объекта SortedSet<T>.

Stack<T>.Enumerator

Выполняет перечисление элементов коллекции Stack<T>.

Интерфейсы

IAsyncEnumerable<T>

Предоставляет перечислитель, который обеспечивает асинхронный перебор значений указанного типа.

IAsyncEnumerator<T>

Поддерживает простой асинхронный перебор элементов универсальной коллекции.

ICollection<T>

Определяет методы для управления универсальными коллекциями.

IComparer<T>

Определяет метод, реализуемый типом для сравнения двух объектов.

IDictionary<TKey,TValue>

Представляет универсальную коллекцию пар «ключ-значение».

IEnumerable<T>

Предоставляет перечислитель, который поддерживает простой перебор элементов в указанной коллекции.

IEnumerator<T>

Поддерживает простой перебор элементов универсальной коллекции.

IEqualityComparer<T>

Определяет методы, поддерживающие сравнение объектов на предмет равенства.

IList<T>

Представляет коллекцию объектов, доступ к которым может быть получен индивидуально по индексу.

IReadOnlyCollection<T>

Представляет строго типизированную, доступную только для чтения коллекцию элементов.

IReadOnlyDictionary<TKey,TValue>

Представляет универсальную коллекцию пар «ключ-значение», доступную только для чтения.

IReadOnlyList<T>

Представляет доступную только для чтения коллекцию элементов, доступ к которым может быть получен по индексу.

IReadOnlySet<T>

Предоставляет доступную только для чтения абстракцию набора.

ISet<T>

Предоставляет основной интерфейс для абстракции наборов.

Комментарии

Многие универсальные типы коллекций являются прямыми аналогами неуниверсальных типов. Интерфейс Dictionary<TKey,TValue> — это универсальная версия Hashtable; он использует для перечисления универсальную структуру KeyValuePair<TKey,TValue> вместо DictionaryEntry. List<T> — это универсальная версия ArrayList. Имеются универсальные классы Queue<T> и Stack<T>, соответствующие неуниверсальным версиям. Существуют универсальные и неуниверсальные версии SortedList<TKey,TValue>. Обе эти версии являются гибридами словаря и списка. Универсальный класс SortedDictionary<TKey,TValue> представляет собой обычный словарь и не имеет неуниверсального аналога. Универсальный LinkedList<T> класс является истинным связанным списком и не имеет необщичного аналога.

См. также раздел