Поделиться через


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>

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

OrderedDictionary<TKey,TValue>.KeyCollection

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

OrderedDictionary<TKey,TValue>.ValueCollection

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

OrderedDictionary<TKey,TValue>

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

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>.AlternateLookup<TAlternateKey>

Предоставляет тип, который можно использовать для выполнения операций с Dictionary<TKey,TValue> с помощью TAlternateKey в качестве ключа вместо TKey.

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>.AlternateLookup<TAlternate>

Предоставляет тип, который можно использовать для выполнения операций с HashSet<T> с помощью TAlternate вместо T.

HashSet<T>.Enumerator

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

KeyValuePair<TKey,TValue>

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

LinkedList<T>.Enumerator

Перечисляет элементы LinkedList<T>.

List<T>.Enumerator

Перечисляет элементы List<T>.

OrderedDictionary<TKey,TValue>.Enumerator

Перечисляет элементы OrderedDictionary<TKey,TValue>.

OrderedDictionary<TKey,TValue>.KeyCollection.Enumerator

Перечисляет элементы OrderedDictionary<TKey,TValue>.KeyCollection.

OrderedDictionary<TKey,TValue>.ValueCollection.Enumerator

Перечисляет элементы OrderedDictionary<TKey,TValue>.ValueCollection.

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>.

Интерфейсы

IAlternateEqualityComparer<TAlternate,T>

Реализовано IEqualityComparer<T> для поддержки сравнения экземпляра TAlternate с экземпляром 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> является истинным связанным списком и не имеет негенерического аналога.

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