using System.Collections.Generic;
public static void Main()
IEnumerable<Lazy<MyObject>> _myObjects = Enumerable.Range(0, 5).Select(i => new Lazy<MyObject>(() => new MyObject()));
foreach (var o in _myObjects)
if (o.IsValueCreated) Console.WriteLine("Item has a value, shouldn't right now!");
foreach (var o in _myObjects)
foreach (var o in _myObjects)
if (!o.IsValueCreated) Console.WriteLine("Item doesn't have a value, should cuz we went and forced creation of it!");