



























一个对象的延迟初始化意味着该对象的创建延迟至第一次使用该对象时
主要用于提高性能,避免浪费计算,减少程序内存要求
当使用Lazy<T> 对象的 .Value 属性时,对象才会被创建;如下构建一个Orders类
public class Orders { public List<string> OrderData { get; } public Orders() { Console.WriteLine("正在加载订单数据..."); Thread.Sleep(2000); // 模拟耗时 OrderData = new List<string> { "Order 1", "Order 2", "Order 3" }; Console.WriteLine("订单数据加载完成。"); } }
using LazyDemo; class Program { private static Lazy<Orders> orders = new Lazy<Orders>(); static void Main(string[] args) { Console.WriteLine("程序启动,Orders对象尚未创建"); DisplayOrders(orders.Value.OrderData); } static void DisplayOrders(List<string> orders) { foreach (var o in orders) { Console.WriteLine(o); } } }
ctrl+f5运行后

当使用orders.Value时,oders的构造函数才被执行
=======================================================================================
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。