C# Lazy Loading

Posted dotNET跨平台

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# Lazy Loading相关的知识,希望对你有一定的参考价值。

前言

按需加载对象延迟加载实际是推迟进行创建对象,直到对其调用后才进行创建初始化,延迟(懒加载)的好处是提高系统性能,避免不必要的计算以及不必要的资源浪费。

常规有这些情况:

  • 对象创建成本高且程序可能不会使用它。例如,假定内存中有具有 Orders 属性的 Customer 对象,该对象包含大量 Order 对象,初始化这些对象需要数据库连接。如果用户永远不要求显示 Orders 或在计算中使用该数据,则无需使用系统内存或计算周期来创建它。通过使用 Lazy

     来声明 Orders对象用于迟缓初始化,可以避免在不使用该对象时浪费系统资源。
  • 对象创建成本高,且希望将其创建推迟到其他高成本操作完成后。例如,假定程序在启动时加载多个对象实例,但是只需立即加载其中一部分。可以通过推迟初始化不需要的对象,直到创建所需对象,提升程序的启动性能。(来源官方)

示例

创建用户类