延迟加载
Posted 雪原日暮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了延迟加载相关的知识,希望对你有一定的参考价值。
我们创建某一个对象需要很大的消耗,而这个对象在运行过程中又不一定用到,为了避免每次运行都创建该对象,这时候延迟初始化(也叫延迟实例化)就出场了。
延迟初始化出现于.NET 4.0,主要用于提高性能,避免浪费计算,并减少程序内存要求。也可以称为,按需加载。
Lazy<T> xx = new Lazy<T>();//xx代表变量名
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LazyTest { class Student { public Student() { this.Name = "DefaultName"; Console.WriteLine("调用Student的构造函数"); } public string Name { get; set; } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LazyTest { class Program { static void Main(string[] args) { Lazy<Student> student = new Lazy<Student>(); if (!student.IsValueCreated) { Console.WriteLine("Student未初始化"); } Console.WriteLine(student.Value.Name); if (student.IsValueCreated) { Console.WriteLine("Student已经初始化"); } Console.ReadKey(); } } }
以上是关于延迟加载的主要内容,如果未能解决你的问题,请参考以下文章
如何延迟或异步此 WordPress javascript 片段以最后加载以加快页面加载时间?