И сейчас разберемся с делегатами и лямбда-выражениями в сишарпе



Они позволяют передавать методы как параметры и реализовывать функциональный стиль программирования в C#.



1. Делегаты для передачи методов — служат типами для хранения ссылок на методы:

delegate int Operation(int a, int b);



Operation add = (x, y) => x + y;

add(3, 4); // вернет 7




2. Использование лямбда-выражений — они упрощают синтаксис анонимных функций:

Func<int, int, int> multiply = (x, y) => x * y;

multiply(3, 4); // вернет 12




3. Передача делегатов в методы — делегаты также могут использоваться для передачи логики в метод:

void PerformOperation(int x, int y, Func<int, int, int> operation) {

Console.WriteLine(operation(x, y));

}



PerformOperation(5, 6, (a, b) => a - b); // выведет -1


Функция PerformOperation принимает логику в виде делегата и применяет ее



🔥 Про что ещё хотите увидеть разбор? Делись своим мнением в комментах под постом!



➡️ C# Ready | #техсобес