Sobes.tech
Junior — Middle

Ar galite paaiškinti delegatų koncepciją ir jų vaidmenį programavime?

sobes.tech AI

Atsakymas iš AI

C# kalboje delegatai yra tipai, kurie atstovauja nuorodoms į metodus su tam tikru parašu ir grąžinimo tipu. Jie leidžia perduoti metodus kaip parametrus, saugoti juos kintamuosiuose ir juos dinamiškai iškviesti.

Delegatų vaidmuo:

  • Leidžia įgyvendinti atgalinius iškvietimus (callbacks).
  • Naudojami įvykiams ir įvykių apdorojimui.
  • Užtikrina kodo lankstumą ir išplėčiamumą.

Delegato naudojimo pavyzdys:

// Delegato deklaravimas
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
    }
}

Taip delegatai leidžia dinamiškai pasirinkti ir iškviesti metodus.