Na początku stwórzmy klasę, która będzie zawierała pewną wartość.
public class Item
{
private readonly int _i;
public Item(int i)
{
_i = i;
}
public override string ToString()
{
return "I: "+_i;
}
}
A teraz stwórzmy listę z lazy elementami i te elementy ponumerujemy.
List<Lazy<Item>> lazyList = new List<Lazy<Item>>();
for (int i = 0; i < 10; i++)
{
lazyList.Add(new Lazy<Item>(() => new Item(i)));
}
foreach (var lazyItem in lazyList)
{
Console.WriteLine(lazyItem.Value);
}
Jak uruchomimy aplikację to zamiast ponumerowanych elementów, dostajemy obiekty z tą samą wartością.

Brak komentarzy:
Prześlij komentarz