Я нашел эту статью о Lazy
: Lazy в C # 4.0 - Lazy
Как лучше всего добиться максимальной производительности при использовании Lazy-объектов? Может ли кто-нибудь указать мне на практическое использование в реальном приложении? Другими словами, когда мне следует его использовать?
Необходимо посмотреть этот пример для понимания Ленивой архитектуры Загрузки
private readonly Lazy<List<int>> list = new Lazy<List<int>>(() =>
{
List<int> configList = new List<int>(Thread.CurrentThread.ManagedThreadId);
return configList;
});
public void Execute()
{
list.Value.Add(0);
if (list.IsValueCreated)
{
list.Value.Add(1);
list.Value.Add(2);
foreach (var item in list.Value)
{
Console.WriteLine(item);
}
}
else
{
Console.WriteLine("Value not created");
}
}
-> вывод-> 0 1 2
, но если этот код не написал "список. Значение. Добавьте (0)";
вывод-> Стоимость, не созданная