System.Collections.Generic
Namespace
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
| CollectionExtensions | |
| Comparer<T> |
Provides a base class for implementations of the IComparer<T> generic interface. |
| Dictionary<TKey,TValue>.KeyCollection |
Represents the collection of keys in a Dictionary<TKey,TValue>. This class cannot be inherited. |
| Dictionary<TKey,TValue>.ValueCollection |
Represents the collection of values in a Dictionary<TKey,TValue>. This class cannot be inherited. |
| Dictionary<TKey,TValue> |
Represents a collection of keys and values. |
| EqualityComparer<T> |
Provides a base class for implementations of the IEqualityComparer<T> generic interface. |
| HashSet<T> |
Represents a set of values. |
| KeyedByTypeCollection<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. |
| KeyValuePair | |
| LinkedList<T> |
Represents a doubly linked list. |
| LinkedListNode<T> |
Represents a node in a LinkedList<T>. This class cannot be inherited. |
| List<T> |
Represents a strongly typed list of objects that can be accessed by index. Provides methods to search, sort, and manipulate lists. |
| Queue<T> |
Represents a first-in, first-out collection of objects. |
| SortedDictionary<TKey,TValue>.KeyCollection |
Represents the collection of keys in a SortedDictionary<TKey,TValue>. This class cannot be inherited. |
| SortedDictionary<TKey,TValue>.ValueCollection |
Represents the collection of values in a SortedDictionary<TKey,TValue>. This class cannot be inherited |
| SortedDictionary<TKey,TValue> |
Represents a collection of key/value pairs that are sorted on the key. |
| SortedList<TKey,TValue> |
Represents a collection of key/value pairs that are sorted by key based on the associated IComparer<T> implementation. |
| SortedSet<T> |
Represents a collection of objects that is maintained in sorted order. |
| Stack<T> |
Represents a variable size last-in-first-out (LIFO) collection of instances of the same specified type. |
| SynchronizedCollection<T> |
Provides a thread-safe collection that contains objects of a type specified by the generic parameter as elements. |
| SynchronizedKeyedCollection<K,T> |
Provides a thread-safe collection that contains objects of a type specified by a generic parameter and that are grouped by keys. |
| SynchronizedReadOnlyCollection<T> |
Provides a thread-safe, read-only collection that contains objects of a type specified by the generic parameter as elements. |
Structs
Interfaces
| ICollection<T> |
Defines methods to manipulate generic collections. |
| IComparer<T> |
Defines a method that a type implements to compare two objects. |
| IDictionary<TKey,TValue> |
Represents a generic collection of key/value pairs. |
| IEnumerable<T> |
Exposes the enumerator, which supports a simple iteration over a collection of a specified type. |
| IEnumerator<T> |
Supports a simple iteration over a generic collection. |
| IEqualityComparer<T> |
Defines methods to support the comparison of objects for equality. |
| IList<T> |
Represents a collection of objects that can be individually accessed by index. |
| IReadOnlyCollection<T> |
Represents a strongly-typed, read-only collection of elements. |
| IReadOnlyDictionary<TKey,TValue> |
Represents a generic read-only collection of key/value pairs. |
| IReadOnlyList<T> |
Represents a read-only collection of elements that can be accessed by index. |
| ISet<T> |
Provides the base interface for the abstraction of sets. |
Remarks
Many of the generic collection types are direct analogs of nongeneric types. Dictionary<TKey,TValue> is a generic version of Hashtable; it uses the generic structure KeyValuePair<TKey,TValue> for enumeration instead of DictionaryEntry. List<T> is a generic version of ArrayList. There are generic Queue<T> and Stack<T> classes that correspond to the nongeneric versions. There are generic and nongeneric versions of SortedList<TKey,TValue>. Both versions are hybrids of a dictionary and a list. The SortedDictionary<TKey,TValue> generic class is a pure dictionary and has no nongeneric counterpart. The LinkedList<T> generic class is a true linked list and has no nongeneric counterpart.