我想知道:如何让
也就是说:
"懒加载"将对象的创建推迟到实际访问时。这里的"f"是否是对象的根(意味着它不会被垃圾回收)?(此时对象尚未创建...某些其他代码稍后放置了一个值)。还是说GC认为它是未引用/未初始化的对象,因此对其进行了回收?这是我需要注意或担心的问题吗?
GC
查看 Lazy
对象。也就是说:
Lazy<Foo> f = new Lazy<Foo>( );
"懒加载"将对象的创建推迟到实际访问时。这里的"f"是否是对象的根(意味着它不会被垃圾回收)?(此时对象尚未创建...某些其他代码稍后放置了一个值)。还是说GC认为它是未引用/未初始化的对象,因此对其进行了回收?这是我需要注意或担心的问题吗?
public class Foo
{
public int ID { get; set; }
public Foo()
{
ID = 1;
}
}
Lazy<T>
在GC方面没有任何特殊之处。 - CodesInChaos