.NET имеет множество сложных структур данных. К сожалению, некоторые из них очень похожи, и я не всегда уверен, когда использовать их и когда использовать другой. Большинство моих книг на С# и Visual Basic рассказывают о них в определенной степени, но они никогда не вникают в какие-либо реальные детали.
Какая разница между Array, ArrayList, List, Hashtable, Dictionary, SortedList и SortedDictionary?
Какие из них перечислены (IList - могут делать "foreach" петли)? Какие из них используют пары ключ/значение (IDict)?
Как насчет объема памяти? Скорость вставки? Скорость поиска?
Можно ли упомянуть другие структуры данных?
Я все еще ищу дополнительную информацию об использовании памяти и скорости (нотация Big-O).