pranav95 wrote:
It is like a linked list
Not at all. A linked list would consist of individual items, each holding one or two pointers to its logical neighbors, and would imply: a separate memory block for each item, no overall memory requirement (except maybe for a head node and a tail node), and certainly no memory requirement larger than the item size itself. A .NET collection is based on an array, most additions do not require any memory requirement at all, and the array's capacity grows by doubling it, which may cause it to become located in the "large object heap" and may even cause fragmentation and out-of-memory situations one would not have with a linked list; OTOH being array-based has advantages, e.g. it allows for an O(1) indexing. :)
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles]
I only read formatted code with indentation, so please use PRE tags for code snippets.
I'm not participating in frackin' Q&A, so if you want my opinion, ask away in a real forum (or on my profile page).