我理解int和所有值类型都存储在堆栈中。 Int可以装入对象,然后意味着int是堆上的存储。但是当int存储在List或int []中时会发生什么?
我知道List ofT是一个类/引用类型/堆存储类型 - 这是否意味着列表中的int被装箱到堆上?
谢谢
答案 0 :(得分:2)
使用通用List<int>
类型时无需装箱。
答案 1 :(得分:1)
如果它存储在类型化列表
中,则不会装箱http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx
“如果值类型用于类型T,则编译器会专门为该值类型生成List类的实现。这意味着在使用该元素之前,不必对List对象的列表元素进行装箱并且在创建了大约500个列表元素之后,保存的内存不是装箱列表元素大于用于生成类实现的内存。“
答案 2 :(得分:0)
我知道List ofT是一个类/引用类型/堆存储类型 - 这是否意味着列表中的int被装箱到堆上?
将int
放置在堆上分配的存储空间与装箱int
不同。
拳击是指int
单独放置在自己的object
包装中。这不会发生在通用List<int>
中,而是发生在ArrayList
。