Sobes.tech
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
    }
}

По този начин делегатите позволяват динамично избиране и извикване на методи.