理解C# Lazy<T>

Andy Niu發表於2014-01-15

1、Lazy<T>解決什麼問題?

  考慮下面的需求,有個物件很大,建立耗時,並且要在託管堆上分配一大塊空間。我們當然希望,用到它的時候再去建立。也就是延遲載入,等到真正需要它的時候,才去載入。考慮一下,我該怎麼解決這個問題。

2、顯然,這裡需要加一箇中間層,將大物件封裝起來,暴露介面,開始並不建立大物件,等到使用者真正訪問物件的時候,再去建立。另外,這個中間層應該可以封裝不同型別的大物件,因此需要類模版。Lazy<T>就是為了解決這個問題。

相關文章