簡體   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