C#中的延时加载Lazy(Of T)
.Net提供了一个叫Lazy<T>的对象,可以让我们很方便的延时创建大型或消耗资源的对象,可以很好的提高应用程序的性能。
如何实现呢?看下面代码:
class Program
{
    static void Main(string[] args)
    {
        Lazy<Test> lazy = new Lazy<Test>(); //封装要延时加载的对象
        Console.WriteLine("创建Lazy对象");
        Console.WriteLine("是否创建对象:" + lazy.IsValueCreated);
        lazy.Value.Run();   //调用对象中的方法
    }
}
 
public class Test
{
    public Test()
    {
        Console.WriteLine("创建Test对象");
    }
 
    public void Run()
    {
        Console.WriteLine("跑!");
    }
}
运行结果:
默认设置下,这个类的所有成员都是线程安全的。我们可以很方便的使用这个类实现对某个对象的延迟加载。
 
                    
                

 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号