5.05. Лямбды, делегаты и отложенная инициализация
Лямбды, делегаты и отложенная инициализация
Лямбда-выражения и анонимные методы
Анонимные методы:
button.Click += delegate(object sender, EventArgs e) {
Console.WriteLine("Clicked");
};
Лямбда-выражение:
Func<int, int> square = x => x * x;
Lazy<T> - отложенная инициализация
Lazy<HeavyObject> lazyObj = new Lazy<HeavyObject>(() => new HeavyObject());
Console.WriteLine(lazyObj.Value); // Создание только при первом обращении
Замыкания – захват внешних переменных во внутренней функции:
int x = 10;
Func<int, int> AddX = y => y + x;