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>eFunc<T1, TResult>e altri — delegati che restituiscono un valore e possono accettare parametri.Predicate<T>— un delegato che accetta un parametro e restituisce unbool.
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.