System.Collections.Generic Namespace

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

The System.Collections.Generic namespace contains interfaces and classes that define generic collections, which allow users to create strongly typed collections that provide better type safety and performance than non-generic strongly typed collections.

Classes

Class Description
Comparer<(Of <(T>)>) Provides a base class for implementations of the IComparer<(Of <(T>)>) generic interface.
Dictionary<(Of <(TKey, TValue>)>) Represents a collection of keys and values.
Dictionary<(Of <(TKey, TValue>)>)..::.KeyCollection Represents the collection of keys in a Dictionary<(Of <(TKey, TValue>)>). This class cannot be inherited.
Dictionary<(Of <(TKey, TValue>)>)..::.ValueCollection Represents the collection of values in a Dictionary<(Of <(TKey, TValue>)>). This class cannot be inherited.
EqualityComparer<(Of <(T>)>) Provides a base class for implementations of the IEqualityComparer<(Of <(T>)>) generic interface.
HashSet<(Of <(T>)>) Represents a set of values.
KeyedByTypeCollection<(Of <(TItem>)>) Provides a collection whose items are types that serve as keys.
KeyNotFoundException The exception that is thrown when the key specified for accessing an element in a collection does not match any key in the collection.
LinkedList<(Of <(T>)>) Represents a doubly linked list.
LinkedListNode<(Of <(T>)>) Represents a node in a LinkedList<(Of <(T>)>). This class cannot be inherited.
List<(Of <(T>)>) Represents a strongly typed list of objects that can be accessed by index. Provides methods to search, sort, and manipulate lists.
Queue<(Of <(T>)>) Represents a first-in, first-out collection of objects.
SortedDictionary<(Of <(TKey, TValue>)>) Represents a collection of key/value pairs that are sorted on the key.
SortedDictionary<(Of <(TKey, TValue>)>)..::.KeyCollection Represents the collection of keys in a SortedDictionary<(Of <(TKey, TValue>)>). This class cannot be inherited.
SortedDictionary<(Of <(TKey, TValue>)>)..::.ValueCollection Represents the collection of values in a SortedDictionary<(Of <(TKey, TValue>)>). This class cannot be inherited
SortedSet<(Of <(T>)>) Represents a collection of objects that is maintained in sorted order.
Stack<(Of <(T>)>) Represents a variable size last-in-first-out (LIFO) collection of instances of the same arbitrary type.
SynchronizedReadOnlyCollection<(Of <(T>)>) Provides a thread-safe, read-only collection that contains objects of a type specified by the generic parameter as elements.

Structures

Structure Description
Dictionary<(Of <(TKey, TValue>)>)..::.Enumerator Enumerates the elements of a Dictionary<(Of <(TKey, TValue>)>).
Dictionary<(Of <(TKey, TValue>)>)..::.KeyCollection..::.Enumerator Enumerates the elements of a Dictionary<(Of <(TKey, TValue>)>)..::.KeyCollection.
Dictionary<(Of <(TKey, TValue>)>)..::.ValueCollection..::.Enumerator Enumerates the elements of a Dictionary<(Of <(TKey, TValue>)>)..::.ValueCollection.
HashSet<(Of <(T>)>)..::.Enumerator Enumerates the elements of a HashSet<(Of <(T>)>) object.
KeyValuePair<(Of <(TKey, TValue>)>) Defines a key/value pair that can be set or retrieved.
LinkedList<(Of <(T>)>)..::.Enumerator Enumerates the elements of a LinkedList<(Of <(T>)>).
List<(Of <(T>)>)..::.Enumerator Enumerates the elements of a List<(Of <(T>)>).
Queue<(Of <(T>)>)..::.Enumerator Enumerates the elements of a Queue<(Of <(T>)>).
SortedDictionary<(Of <(TKey, TValue>)>)..::.Enumerator Enumerates the elements of a SortedDictionary<(Of <(TKey, TValue>)>).
SortedDictionary<(Of <(TKey, TValue>)>)..::.KeyCollection..::.Enumerator Enumerates the elements of a SortedDictionary<(Of <(TKey, TValue>)>)..::.KeyCollection.
SortedDictionary<(Of <(TKey, TValue>)>)..::.ValueCollection..::.Enumerator Enumerates the elements of a SortedDictionary<(Of <(TKey, TValue>)>)..::.ValueCollection.
SortedSet<(Of <(T>)>)..::.Enumerator Enumerates the elements of a SortedSet<(Of <(T>)>) object.
Stack<(Of <(T>)>)..::.Enumerator Enumerates the elements of a Stack<(Of <(T>)>).

Interfaces

Interface Description
ICollection<(Of <(T>)>) Defines methods to manipulate generic collections.
IComparer<(Of <(T>)>) Defines a method that a type implements to compare two objects.
IDictionary<(Of <(TKey, TValue>)>) Represents a generic collection of key/value pairs.
IEnumerable<(Of <(T>)>) Exposes the enumerator, which supports a simple iteration over a collection of a specified type.
IEnumerator<(Of <(T>)>) Supports a simple iteration over a generic collection.
IEqualityComparer<(Of <(T>)>) Defines methods to support the comparison of objects for equality.
IList<(Of <(T>)>) Represents a collection of objects that can be individually accessed by index.
IReadOnlyCollection<(Of <(T>)>) Represents a strongly-typed, read-only collection of elements.
IReadOnlyDictionary<(Of <(TKey, TValue>)>) Represents a generic read-only collection of key/value pairs.
IReadOnlyList<(Of <(T>)>) Represents a read-only collection of elements that can be accessed by index.
ISet<(Of <(T>)>) Provides the base interface for the abstraction of sets.