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.
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.