Back to questions
Junior — Middle
72
Можете объяснить концепцию делегатов и их роль в программировании?
Companies where asked
Swiftfactory
Sector Tree
Answer from AI
sobes.tech AI
Делегаты в C# — это типы, которые представляют ссылки на методы с определённой сигнатурой и возвращаемым типом. Они позволяют передавать методы как параметры, хранить их в переменных и вызывать динамически.
Роль делегатов:
- Позволяют реализовать обратные вызовы (callbacks).
- Используются для событий и обработки событий.
- Обеспечивают гибкость и расширяемость кода.
Пример использования делегата:
// Объявление делегата
public delegate int Operation(int x, int y);
class Program
{
static int Add(int a, int b) => a + b;
static int Multiply(int a, int b) => a * b;
static void Main()
{
Operation op = Add;
Console.WriteLine(op(3, 4)); // 7
op = Multiply;
Console.WriteLine(op(3, 4)); // 12
}
}
Таким образом, делегаты позволяют динамически выбирать и вызывать методы.