Junior — Middle
Можете ли да обясните концепцията за делегати и тяхната роля в програмирането?
sobes.tech AI
Отговор от 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
}
}
По този начин делегатите позволяват динамично избиране и извикване на методи.