System.Collections Namespace

The System.Collections namespace contains interfaces and classes that define various collections of objects, such as lists, queues, bit arrays, hash tables and dictionaries.

Remarks

The System.Collections namespace contains useful classes for storing collections of objects.

All collections implement the ICollection interface, which provides basic functionality for iterating through the elements of a collection. Collections that support index-based access into their elements and the ability to add and remove elements, such as the ArrayList, implement the IList interface. Collections that provide a key/value mapping, such as the Hashtable, implement the IDictionary interface.

Classes

TypeReason
ArrayList

Implements the IList interface using an array whose size is dynamically increased as required.

BitArray

Manages a compact array of bit values, which are represented as Booleans, where true indicates that the bit is on (1) and false indicates the bit is off (0).

CaseInsensitiveComparer

Compares two objects for equivalence, ignoring the case of strings.

CaseInsensitiveHashCodeProvider

Supplies a hash code for an object, using a hashing algorithm that ignores the case of strings.

CollectionBase

Provides the abstract base class for a strongly typed collection.

Comparer

Compares two objects for equivalence, where string comparisons are case-sensitive.

DictionaryBase

Provides the abstract base class for a strongly typed collection of key/value pairs.

DictionaryEntry

Defines a dictionary key/value pair that can be set or retrieved.

Hashtable

Represents a collection of key/value pairs that are organized based on the hash code of the key.

ICollection

Defines size, enumerators, and synchronization methods for all nongeneric collections.

IComparer

Exposes a method that compares two objects.

IDictionary

Represents a nongeneric collection of key/value pairs.

IDictionaryEnumerator

Enumerates the elements of a nongeneric dictionary.

IEnumerable

Exposes an enumerator, which supports a simple iteration over a non-generic collection.

IEnumerator

Supports a simple iteration over a non-generic collection.

IEqualityComparer

Defines methods to support the comparison of objects for equality.

IHashCodeProvider

Supplies a hash code for an object, using a custom hash function.

IList

Represents a non-generic collection of objects that can be individually accessed by index.

IStructuralComparable

Supports the structural comparison of collection objects.

IStructuralEquatable

Defines methods to support the comparison of objects for structural equality.

Queue

Represents a first-in, first-out collection of objects.

ReadOnlyCollectionBase

Provides the abstract base class for a strongly typed non-generic read-only collection.

SortedList

Represents a collection of key/value pairs that are sorted by the keys and are accessible by key and by index.

Stack

Represents a simple last-in-first-out (LIFO) non-generic collection of objects.

StructuralComparisons

Provides objects for performing a structural comparison of two collection objects.