Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining

System.Collections.Specialized Namespace

The System.Collections.Specialized namespace contains specialized and strongly-typed collections; for example, a linked list dictionary, a bit vector, and collections that contain only strings.

Specialized collections are collections with highly specific purposes. NameValueCollection is based on NameObjectCollectionBase; however, NameValueCollection accepts multiple values per key, whereas NameObjectCollectionBase accepts only one value per key.

Some strongly typed collections in the System.Collections.Specialized namespace are StringCollection and StringDictionary, both of which contain values that are exclusively strings.

The CollectionsUtil class creates instances of case-insensitive collections.

Some collections transform. For example, the HybridDictionary class starts as a ListDictionary and becomes a Hashtable when it becomes large. The KeyedCollection<TKey, TItem> is a list but it also creates a lookup dictionary when the number of elements reaches a specified threshold.

  Class Description
Public class CollectionChangedEventManager Provides a WeakEventManager implementation so that you can use the "weak event listener" pattern to attach listeners for the CollectionChanged event.
Public class CollectionsUtil Creates collections that ignore the case in strings.
Public class HybridDictionary Implements IDictionary by using a ListDictionary while the collection is small, and then switching to a Hashtable when the collection gets large.
Public class ListDictionary Implements IDictionary using a singly linked list. Recommended for collections that typically include fewer than 10 items.
Public class NameObjectCollectionBase Provides the abstract base class for a collection of associated String keys and Object values that can be accessed either with the key or with the index.
Public class NameObjectCollectionBase.KeysCollection Represents a collection of the String keys of a collection.
Public class NameValueCollection Represents a collection of associated String keys and String values that can be accessed either with the key or with the index.
Public class Supported by Portable Class Library NotifyCollectionChangedEventArgs Provides data for the CollectionChanged event.
Public class OrderedDictionary Represents a collection of key/value pairs that are accessible by the key or index.
Public class StringCollection Represents a collection of strings.
Public class StringDictionary Implements a hash table with the key and the value strongly typed to be strings rather than objects.
Public class StringEnumerator Supports a simple iteration over a StringCollection.

  Structure Description
Public structure BitVector32 Provides a simple structure that stores Boolean values and small integers in 32 bits of memory.
Public structure BitVector32.Section Represents a section of the vector that can contain an integer number.

  Interface Description
Public interface Supported by Portable Class Library INotifyCollectionChanged Notifies listeners of dynamic changes, such as when an item is added and removed or the whole list is cleared.
Public interface IOrderedDictionary Represents an indexed collection of key/value pairs.

  Delegate Description
Public delegate Supported by Portable Class Library NotifyCollectionChangedEventHandler Represents the method that handles the CollectionChanged event.

  Enumeration Description
Public enumeration Supported by Portable Class Library NotifyCollectionChangedAction Describes the action that caused a CollectionChanged event.
© 2015 Microsoft