如果struct是实例/静态字段,或者是另一个对象的一部分,或者是盒装的,或者在数组1中,那么struct只能在托管堆中(即它可以被垃圾回收).托管堆中永远不会"裸露" - 您可以获得的最接近的是盒装值.
如果你有一个大结构,这是你的第一个问题.你为什么要创造这样的东西?结构应该几乎总是很小(经验法则通常是32个字节),否则每次将它用作方法参数或将其分配给另一个变量时,您最终都会复制它.
您是否考虑过使用课程?
1正如Eric Lippert喜欢指出的那样,堆栈是一个实现细节.此外,在某些情况下,局部变量最终会成为自动生成类中的字段......但我认为这与此问题有些无关.
| 归档时间: |
|
| 查看次数: |
593 次 |
| 最近记录: |