繁体   English   中英

.NET中集合的内存分配

[英]Memory allocation for collections in .NET

这可能是一个骗局。 我没有找到足够的信息。

我正在讨论.Net中集合的内存分配。 集合中分配的元素的内存在哪里?

List<int> myList = new List<int>();

变量myList在堆栈上分配,它引用在堆上创建的List对象。

问题是当int元素添加到myList时,它们会在哪里创建?

谁能指出正确的方向?

元素将在堆上创建。 生活在堆栈上的唯一东西是列表的指针(引用)( List<>是引用类型)

元素也将驻留在堆中(在数组中,这就是List在内部的工作方式)。

原则上,只有局部变量和参数在堆栈上分配,其他所有内容都在堆上(除非你使用稀有的东西,比如stackalloc ,但你不需要担心)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM