English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Action è un tipo di delegato definito nel namespace System. Il tipo di delegato Action è lo stesso del tipo Func, eccetto che il delegato Action non restituisce un valore. In altre parole, il delegato Action può essere utilizzato insieme a metodi con tipo di ritorno void.
Action<T> è un delegato generico integrato nel.NET Framework, che può essere utilizzato per passare metodi come parametri del delegato Action<T> senza dover dichiarare esplicitamente un delegato personalizzato. Il metodo encapsulato deve corrispondere alla firma del metodo definito dal delegato. Ciò significa che il metodo encapsulato deve avere un parametro passato a valori e non deve avere un valore di ritorno.
Ad esempio, il seguente delegato stampa un valore int.
public delegate void Print(int val); static void ConsolePrint(int i) { Console.WriteLine(i); } static void Main(string[] args) { Print prnt = ConsolePrint; prnt(10); }
10
Puoi utilizzare il delegato Action per sostituire il delegato Print definito precedentemente, ad esempio:
static void ConsolePrint(int i) { Console.WriteLine(i); } static void Main(string[] args) { Action<int> printActionDel = ConsolePrint; printActionDel(10); }
Puoi utilizzare la parola chiave new o assegnare direttamente un metodo per inizializzare il delegato Action:
Action<int> printActionDel = ConsolePrint; //oppure Action<int> printActionDel = new Action<int>(ConsolePrint);
Il delegato Action può accettare fino a 16 parametri di tipo diverso.
Puoi assegnare un metodo anonimo al delegato Action, ad esempio:
static void Main(string[] args) { Action<int> printActionDel = delegate(int i) { Console.WriteLine(i); }; printActionDel(10); }
10
Le espressioni lambda possono essere utilizzate insieme ai delegati Action:
static void Main(string[] args) { Action<int> printActionDel = i => Console.WriteLine(i); printActionDel(10); }
Di conseguenza, puoi utilizzare qualsiasi metodo che non utilizzi il valore di ritorno del tipo delegato Action.
Il delegato Action può accettare da 0 a 16 parametri e non ha valore di ritorno.
Action rappresenta un delegato senza parametri e senza valore di ritorno.
Action<int, string> rappresenta un delegato senza valore di ritorno con parametri int, string.
Action<int, string, bool> rappresenta un delegato senza valore di ritorno con parametri int, string, bool.
Action<int, int, int, int> rappresenta un delegato che accetta 4 parametri di tipo int e non restituisce nulla.
Definisci facilmente e rapidamente i delegati.
Rendi il codice breve.
Tipi compatibili in tutta l'applicazione.
Il delegato Action è lo stesso del delegato Func, ma il delegato Action non restituisce nulla. Il tipo di ritorno deve essere void.
Il delegato Action può avere da 0 a 16 parametri di input.
Il delegato Action può essere utilizzato con metodi anonimi o espressioni lambda.