堆栈大小和值类型

本文关键字:类型 堆栈 | 更新日期: 2023-09-27 18:25:12

假设我们有一个值类型的局部变量(例如struct)。它将存在于堆栈中。但结构的大小可以不同(明显地为8字节、800字节或8M字节)。

当值类型的大小大于堆栈大小时会发生什么?

堆栈大小和值类型

StackOverflowException在执行堆栈溢出时抛出。Microsoft建议永远不要创建大于16字节的值类型。

假设我们有一个值类型的局部变量。存储将在临时池上分配,这通常通过在堆栈外分配来实现。当存储所有本地变量所需的存储大小大于可用堆栈空间时,会发生什么情况?

您会得到一个"堆栈外"异常。我很好奇:当你用完堆栈时,你还想象会发生什么其他行为?