惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tailwind CSS Blog
J
Java Code Geeks
Microsoft Azure Blog
Microsoft Azure Blog
GbyAI
GbyAI
爱范儿
爱范儿
量子位
Martin Fowler
Martin Fowler
V
V2EX
博客园 - 三生石上(FineUI控件)
I
InfoQ
MongoDB | Blog
MongoDB | Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
N
Netflix TechBlog - Medium
D
DataBreaches.Net
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Last Week in AI
Last Week in AI
U
Unit 42
Apple Machine Learning Research
Apple Machine Learning Research
H
Help Net Security
T
The Blog of Author Tim Ferriss
Hugging Face - Blog
Hugging Face - Blog
美团技术团队
Engineering at Meta
Engineering at Meta

博客园 - jack_Meng

2026年AI编程工具大全,33个主流工具 .NET 异常处理的"暗门":代码里被 catch 吃掉的异常,你依然能抓住它——FirstChanceException Visual Studio 插件 Gittoy , 我做了一个 vs 版的 gittoolbox 用 C 语言实现任务栏图标动画,支持使用表情包gif/webp 如何用0预算推广项目 开源的 Windows 桌面整理工具 被罚了500后,整个人都变老实了 提取网页表格,一键导出 CSV:一个 Bookmarklet 脚本就够了 从零搭建一个最小 AI Agent:Python 完整示例 + AI调用机制详解 CASIO卡西欧计算器的自检模式——2种自检方式 C#把字符串按每两个字符一组,组之间加空格 C#程序从指定路径或网络加载引用的DLL 设置程序PrivatePath,配置引用程序集的指定路径(分离exe和dll) .NET/WPF 程序密钥加密存储:使用 DPAPI 实现安全兼容 一线大厂的Git规范 一线大厂的数据库规范 Python自动化实战:常用的类库和使用场景 工控生态之展示与交互:怎么让工业软件不再"丑" 一个 Python 项目带你入门AI应用开发课程介绍----系列文章 开源好用的酷狗音乐播放器:VibeMusic PowerShell + C# 实现桌面文字提醒,类似于“激活Windows”的功能 【Python】2026动态文字壁纸,一键让你的桌面加上动态效果 Python 用 tkinter 实现在 Windows 上提示文本消息的实现(模拟安卓手机上的 Toast 效果) 用Python在Windows桌面弹出文字提示 在Windows桌面背景上添加自定义文字 常用AI提示词汇总 chrome浏览器,Google新标签页添加快捷图标 油候脚本中,使用GM_info对象,打印脚本信息 使用油候脚本,移除页面无法选择文字 高中免费电子教辅资料合集
.Net Framework 使用Lazy<T>延迟初始化对象
jack_Meng · 2026-04-17 · via 博客园 - jack_Meng

1、延迟初始化定义

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

2、延迟初始化目的

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

3、使用形式   Lazy<T>

当使用Lazy<T> 对象的 .Value 属性时,对象才会被创建;如下构建一个Orders类

4、使用示例

测试对象

复制代码

    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的构造函数才被执行

=======================================================================================