[英]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.