![]() |
1
8
堆用于存储无法提前确定存储寿命的数据 . 在您的示例中,无法提前知道所有内容(数字、字符串、列表)的生存期,因此它们都必须进入堆中,以便垃圾收集器可以确定该存储何时停止。
按值复制 包含自己的价值观 它们永远不会被放到堆栈上,因为它们的存储寿命无法提前知道。
这个问题毫无意义。你只有 类型 物体 . 你在说什么东西? 但答案是一样的:如果提前知道存储的生命周期,对象将被放在堆栈上;否则,它们将被放在堆上进行垃圾收集。 |
![]() |
2
6
所有变量都是引用类型的成员(
然而,正如Eric Lippert喜欢说的,堆和堆栈是实现细节。查看以下博客文章: |
![]() |
3
0
我想这里有点问题,你写的代码不会把任何变量推到堆栈上。堆栈将只在本地作用域或参数中保存变量(不是所有类型),而不是calss成员。 |
![]() |
4
-4
我相信(如果我错了,请纠正我)结构/原语(不包括字符串)是在堆栈上分配的,而对象(包括泛型)是在堆上分配的。 |
![]() |
A B · C#Excel自动调整列避免长文本时出错 5 月前 |
|
pseudodev · 失败的测试仅显示堆栈跟踪,不显示完整日志 6 月前 |
![]() |
CactusCake · if语句中应有分号 7 月前 |
![]() |
Bin4ry · 子文件夹中的应用程序设置 7 月前 |