Lazy initialization is a technique that defers the creation of an object until the first time it is needed.
In other words, initialization of the object happens only on demand. Note that the terms lazy initialization and lazy instantiation mean the same thing—they can be used interchangeably.

By taking advantage of lazy initialization, you can improve the application’s performance by avoiding unnecessary computation and memory consumption.
In this article we’ll look at how we can perform lazy initialization in C#.Let’s understand lazy loading with a simple example.

Consider two classes, Customer and Order.

The Customer class contains an Orders property that in turn references a collection of instances of the Order class.

The Orders collection may contain a large amount of data and may even need a database connection to connect to the database and retrieve records.
In such a case, there is no point in loading data in the Orders property until we need the data. Lazy initialization allows us to load the Orders collection only when the data is asked for.To read this article in full or to leave a comment, please click here

Leave a Reply