【发布时间】:2011-07-04 16:26:08
【问题描述】:
当两个结构之间存在循环引用时会发生什么?对于下面的示例,内存分配是如何工作的,或者它会产生错误吗?
public struct MultipleChoiceQuestion
{
public IEnumerable<Option> Options;
}
public struct Option
{
public MultipleChoiceQuestion Question;
}
【问题讨论】:
-
根据经验,你不应该在结构中包含引用类型
-
@BrokenGlass,你有更多信息吗,也许是进一步阅读的链接。 TIA
-
@BrokenGlass 没有字符串吗? :p
-
yaya 让我到了那里;-) 无论如何,字符串非常特别。 @John K:我想问题在于只有当您引用了可变引用类型时,复制和比较语义总是让我到达那里,所以我个人尽量避免在结构中完全使用大多数引用类型(无论如何我很少使用)
标签: c# circular-reference