【发布时间】:2011-11-15 19:13:57
【问题描述】:
我明白为什么结构不能包含导致逻辑内存问题的循环引用,但是为什么可以为空的引用不能绕过这个限制呢?例如:
struct Foo
{
Foo? bar;
}
显然这很容易导致堆栈溢出和循环引用,如果不小心的话,但bar 不应该是指向另一个Foo 实例的指针,并且默认为null?或者(更有可能)我不了解可空值类型在内存中的布局方式?
(我的背景知识主要是来自this question and answers的信息。)
【问题讨论】:
标签: c# .net struct circular-reference