理解C# Lazy<T>

1、Lazy<T>解决什么问题?

  考虑下面的需求,有个对象很大,创建耗时,并且要在托管堆上分配一大块空间。我们当然希望,用到它的时候再去创建。也就是延迟加载,等到真正需要它的时候,才去加载。考虑一下,我该怎么解决这个问题。

2、显然,这里需要加一个中间层,将大对象封装起来,暴露接口,开始并不创建大对象,等到用户真正访问对象的时候,再去创建。另外,这个中间层应该可以封装不同类型的大对象,因此需要类模版。Lazy<T>就是为了解决这个问题。

posted on 2014-01-15 20:46  Andy Niu  阅读(2821)  评论(0编辑  收藏  举报