问题:最近遇到一个项目遇到一个问题(很久的项目,现阶段主要维护),程序初始化的时候比较慢,最后查原因的时候发现是因为一个类的构造方法里面有些逻辑,

    解决办法:希望在使用的时候再进行加载,最后想到了延迟加载(Lazy)

  一、由于实际项目不好贴源代码,先简单模拟数据

      

public class Student
{
    public Student()
    {
        this.Name = "DefaultName";
        this.Age = 0;
        Thread.Sleep(2000);//模拟延时操作
        Console.WriteLine("Student is init...");
    }

    public string Name { get; set; }
    public int Age { get; set; }
}

二、延迟加载处理

            Lazy<Student> student = new Lazy<Student>();

            //在这可以输写一部分业务逻辑。。。。。
            Console.WriteLine("业务逻辑编写。。。");
            
            Console.WriteLine("student对象是否被创建:"+student.IsValueCreated);
            student.Value.Name = "lxsh";
            Console.WriteLine("student对象是否被创建:"+student.IsValueCreated); 
三、运行截图
Lazy 延迟加载

 


相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-11-28
  • 2021-06-26
  • 2021-12-26
  • 2021-08-27
  • 2021-10-24
  • 2022-12-23
猜你喜欢
  • 2021-11-28
  • 2022-02-01
  • 2022-12-23
  • 2022-12-23
  • 2021-11-28
  • 2021-11-22
  • 2021-08-19
相关资源
相似解决方案