【发布时间】:2013-01-05 10:03:07
【问题描述】:
这很简单,我敢肯定。我试过搜索,但没有快乐。
假设我有一个A 类型的对象,它有一个F 类型为B 的公共字段。我创建一个B 的实例并设置A.F=B。
A.F == null 的结果为 False。
A.F is B 的结果为 True。
但随后B 设置为空。 A.F 属性仍然保存 B 的旧实例的句柄。 A.F 的运行时查找仍将其显示为 B 类型。所以测试A.F == null 仍然给出False,测试A.F is B 仍然给出True。即使B 已被丢弃。
那么我如何检查A.F 属性以查看其句柄现在是否指向消失的对象?
【问题讨论】:
标签: c# memory-management garbage-collection