Встречается на собеседованиях • сегодня
Что такое Delegate
Делегаты в C# — это объекты, которые ссылаются на методы. Они позволяют передавать методы как параметры, хранить их в переменных и вызывать динамически.
Ключевые особенности:
- Типобезопасны (совпадают сигнатуры методов).
- Поддерживают multicast (через
+=и-=). - Бывают встроенные (
Action,Func,Predicate) и пользовательские.
Пример:
csharp
delegate int MathOp(int x, int y); // Объявление делегата
class Program {
static int Add(int a, int b) => a + b;
static int Sub(int a, int b) => a - b;
static void Main() {
MathOp op = Add;
Console.WriteLine(op(5, 3)); // 8
op += Sub; // Multicast
Console.WriteLine(op(5, 3)); // 2 (вызов всех методов, но возврат последнего)
}
} Использование:
- Обратные вызовы (callbacks).
- События (events).
- LINQ и асинхронные операции.
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы
