Sobes.tech
Junior — Middle

Puoi nominare i principali tipi di delegati utilizzati nel linguaggio di programmazione?

sobes.tech AI

Risposta dell'AI

Nel linguaggio C#, i delegati sono tipi che rappresentano riferimenti a metodi con una firma specifica. I principali tipi di delegati:

  • Delegati a destinazione singola (Single-cast delegates) — fanno riferimento a un singolo metodo.
  • Delegati multicast (Multicast delegates) — possono contenere una lista di metodi che vengono chiamati sequenzialmente.

Inoltre, esistono delegati generici standard:

  • Action — un delegato che rappresenta un metodo senza valore di ritorno e con 0 o più parametri.
  • Func<TResult> e Func<T1, TResult> e altri — delegati che restituiscono un valore e possono accettare parametri.
  • Predicate<T> — un delegato che accetta un parametro e restituisce un bool.

Esempio di dichiarazione e utilizzo di un delegato:

public delegate int Operation(int x, int y);

Operation add = (a, b) => a + b;
int result = add(3, 4); // 7

Delegato multicast:

Operation op = add;
op += (a, b) => a * b;

foreach (Operation del in op.GetInvocationList()) {
    Console.WriteLine(del(3, 4));
}

Pertanto, i principali tipi di delegati sono: a destinazione singola, multicast, e anche i delegati generici standard Action, Func e Predicate.