.Net Framework 延迟初始化

1、延迟初始化定义

一个对象的延迟初始化意味着该对象的创建延迟至第一次使用该对象时

2、延迟初始化目的

主要用于提高性能,避免浪费计算,减少程序内存要求

3、使用形式   Lazy<T>

4、当使用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运行后

image

 当使用orders.Value时,oders的构造函数才被执行

posted @ 2026-04-07 14:50  echo-efun  阅读(11)  评论(0)    收藏  举报