No, there's nothing in the framework which implements this functionality at the moment (but see edit below).
Basically you would want to compose a List<T>
and a Dictionary<TKey, TValue>
in your own class.
EDIT: I had genuinely forgotten about OrderedDictionary
as pointed out by wesleyhill - but I don't believe there's a generic collection in the framework like this. I assume you'd actually want a generic collection? You could write a wrapper around OrderedDictionary
of course...
EDIT: Quick note: while wrapping the collection shouldn't be hard at all, you'll lose one benefit of generic collections: avoiding boxing. Not an issue if your keys and values are reference types, of course.