Specialized Collections

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.