Sobes.tech
Junior — Middle

Cosa distingue i delegati di tipo Action da quelli di tipo Func in termini di utilizzo e scopo?

sobes.tech AI

Risposta dell'AI

I delegati di tipo Action e Func in C# differiscono per scopo e valore di ritorno:

  • Action — è un delegato che rappresenta un metodo che non restituisce valore (void). Può accettare da 0 a 16 parametri, ma restituisce sempre void.

  • Func — è un delegato che rappresenta un metodo che restituisce un valore. Può accettare da 0 a 16 parametri, dove l'ultimo parametro è il tipo di valore di ritorno.

Esempio:

Action<string> print = message => Console.WriteLine(message);
print("Ciao, Action!"); // visualizza il messaggio, non restituisce nulla

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

Quindi, usa Action quando il metodo non restituisce nulla, e Func quando devi restituire un risultato.