Abstract: "System.Collections provides a number of useful collection types including ArrayList, BitArray, Hashtable, Queue, SortedList and Stack, among other classes designed to be derived from in custom collection implementations.
One of the animals missing from the "collection" is one that provides the capabilities of the SortedList (key - value pairs that are not only sorted by key but also accessible by index) , but can also present the data by index in the order it was inserted (not the "Sorted" order). This animal, like the ArrayList and HashTable, should also permit the values to be objects. There have been a number of implementations of what is called the "HashList" in the JAVA space, but only one I found in the .NET domain - one written by Mike McPhail here. Unfotunately for Mike, his search didn't permit him to find the NameObjectCollectionBase class, which would have made his job a lot easier (his work still stands on its own merits as an excellent example of "using your noodle", however)."