This might be a dupe. I did not find enough information on this.
I was discussing memory allocation for collections in .Net. Where is the memory for elements alloca
The elements will also reside in the heap (in an array, that's how List works internally).
In principle, only local variables and arguments are be allocated on the stack and everything else goes on the heap (unless you use rare things such as stackalloc
, but you don't need to worry about that)
The elements will be created on the heap. The only thing that lives on the stack is the pointer (reference) to the list (List<>
is a reference type)