C# AZIONE

C# AZIONE

Se hai mai usato i puntatori in qualsiasi linguaggio di programmazione, allora potresti avere un'idea del riferimento. C# i delegati funzionano allo stesso modo dei suggerimenti. Proprio come facciamo riferimento alle funzioni usando i puntatori, possiamo usare i delegati per fare riferimento alla funzione in C#. I delegati sono appositamente costruiti per creare funzioni di chiamata e aggiungere eventi. Ciò significa che un delegato può decidere quale metodo verrà eseguito in quel momento in C#. I delegati ci aiutano a incapsulare le funzioni e possono eseguire più di due funzioni per un evento solista. I delegati hanno tipi personalizzati e di azione. In questa guida, abbiamo deciso di coprire entrambi i suoi tipi e in particolare il tipo di "azione". Iniziamo con la creazione di file C# nella shell per dare un'occhiata ai delegati.

Esempio # 01:

Senza dare un'occhiata al delegato personalizzato, non possiamo capire l'importanza del delegato di azione in C#. All'interno di questo esempio, discuteremo prima del delegato personalizzato. Abbiamo utilizzato la libreria "Sistema" nel codice con la parola chiave "usando". Questa libreria è un must-have in ogni codice C# perché ci fa utilizzare molte funzioni e dichiarazioni di utilizzo standard nel codice C#.

Senza questa libreria, il nostro codice non ha alcuna utilità per noi perché non mostrerà i risultati richiesti. Abbiamo inizializzato una nuova classe denominata "test" con due funzioni. Una di queste funzioni è la funzione principale () del codice C# ed è un must in ogni codice. Senza questa funzione, nessun'altra parte del codice C# viene eseguita. Un'altra funzione è la funzione "calcola" definita dall'utente, che verrà utilizzata per eseguire alcuni calcoli sulle variabili. L'esecuzione inizia dal metodo principale ().Prima di allora, dobbiamo descrivere la dichiarazione di un delegato personalizzato definito nella prima riga del test di classe.

Abbiamo definito un delegato chiamato "personalizzato" con due argomenti di tipo intero (i.e. xey), facendo riferimento allo stesso nome e digita la funzione dell'argomento nel codice. Questo delegato è di modificatore di accesso "pubblico" e avviato con la parola chiave "delegata" seguita dal tipo "vuoto". Poiché la funzione Calcola ha lo stesso nome e tipi di argomenti in essa, questo delegato deve fare riferimento alla funzione "calcola". All'interno del metodo principale (), abbiamo creato un oggetto "A" di delegato "personalizzato" per fare riferimento alla funzione "calcola". Ora, per passare i valori alla funzione "calcola", useremo l'oggetto "A" del delegato personalizzato (i.e. 14 e 7.) Ora, quando viene passato un valore, la funzione di calcolo verrà eseguita usando questi valori. Ci sono 4 console.Le istruzioni di funzione WriteLine () sono utilizzate nella funzione Calcola per eseguire operazioni diverse (i.e. La somma e la sottrazione di 2 valori, la moltiplicazione di 2 valori e la divisione di due valori usando x e y.)

Questo riguarda l'uso del delegato personalizzato in C#. Ora compiliamo questo codice C# nel terminale di Linux con l'aiuto di un compilatore C# "MCS". Dopo averlo compilato, il compilatore creerà un file "exe" per l'esecuzione. Ora, dobbiamo utilizzare questo file "exe" all'interno del terminale con l'istruzione "mono" per eseguire il nostro codice. Si scopre che il delegato funziona, come un oggetto di classe, viene fatto riferimento alla funzione di calcolo per passare i suoi valori e calcolare la somma, la sottrazione, la moltiplicazione e il risultato della divisione i.e. 21, 7, 98 e 2 rispettivamente.

Esempio # 02:

Il delegato dell'azione ci fa risparmiare dalla definizione del delegato personalizzato nel codice e non restituisce un valore. Inoltre, riduce anche le dimensioni di un codice. Diciamo, come possiamo usare un delegato di azione in questo codice di esempio? Quindi, abbiamo iniziato la stessa struttura di codice di C# qui usando la libreria "Sistema" e la classe "Test" in essa. Successivamente, abbiamo aggiunto 2 funzioni (i.e. Funzione di calcolo definita dall'utente e funzione principale () integrata.)

All'interno della funzione di calcolo, abbiamo utilizzato la stessa console 4.Dichiarazioni di funzione WriteLine () Per calcolare la somma, la sottrazione, la moltiplicazione e il valore di divisione delle variabili "x" e "y" del tipo di intero. Mentre la funzione principale () contiene l'inizializzazione di un delegato di azione "A" con la parola chiave "azione" seguita dai caratteri "" che specificano i tipi di restituzione per i valori parametrici passati da questo delegato alla funzione di calcolo. Ora, la funzione Calcola diventa il riferimento dell'azione delega "A" e l'abbiamo usata per passare due valori 7 e 14 alla funzione "Calcola" senza chiamarla. Puoi vedere che non dobbiamo dichiarare un delegato di azione come abbiamo fatto per l'usanza e ha anche ridotto un po 'le dimensioni di un codice. Salviamo questo codice e usiamolo durante l'esecuzione.

Dopo la compilazione di questo codice e l'esecuzione del suo file "exe", abbiamo ottenuto lo stesso risultato per somma e moltiplicazione mentre un po 'diverso per la sottrazione e per la divisione. Sia i delegati personalizzati che quelli dell'azione lavorano in modo abbastanza simile, ma dobbiamo definire prima il delegato personalizzato.

Esempio # 03:

Vediamo come reagisce un'azione delegata quando usiamo un'istruzione di restituzione nel codice. Quindi, abbiamo aggiornato il nostro codice e aggiunto la funzione Calcola e Main (). All'interno del principale () di questo codice, abbiamo creato un delegato di azione "A" di due parametri interi per fare riferimento alla funzione di calcolo. Un oggetto delegato di azione "A" viene utilizzato per passare due numeri interi alla funzione di calcolo senza chiamare la funzione di calcolo e inizializzato un numero intero per ottenere il risultato calcolato nel principale ().

La console.La funzione WriteLine () è stata utilizzata per visualizzare il valore restituito dalla funzione Calcola da visualizzare sulla nostra schermata Shell. All'interno della funzione di calcolo, abbiamo inizializzato una variabile intera "somma" che calcola la somma di due valori usando due variabili "x" e "y". Dopo aver calcolato la somma, abbiamo restituito la variabile "somma" alla funzione principale (). Ora, ci aspettiamo che ci dia un errore sulla compilation.

Quindi, dopo aver compilato il "delegato.File CS "con il compilatore di C#, abbiamo un errore.

Aggiorniamo il codice per vedere il diverso uso del delegato. Quindi, abbiamo aggiunto una semplice funzione principale () all'interno della classe di test. Abbiamo inizializzato un delegato di azione "a" al suo interno seguito dal parametro del tipo di stringa. Per fare riferimento a una variabile stringa, dobbiamo utilizzare il delegato di parole chiave seguito dal nome di una variabile e dal suo tipo in parametri (i.e. "S".) La console.L'istruzione WriteLine () mostrerà il valore di una stringa. Al di fuori della funzione principale (), abbiamo chiamato il delegato dell'azione e abbiamo superato un valore di stringa "Hello World".

Dopo aver compilato ed eseguito il nostro codice, ha visualizzato la nostra stringa utilizzando l'azione delega "A".

Conclusione:

Questo articolo dimostra il concetto di delegati con alcuni dei suoi esempi. Abbiamo studiato l'uso e la struttura dei delegati personalizzati in modo da poterli confrontare con i delegati di azione. Inoltre, abbiamo discusso alcuni esempi per l'uso dei delegati di azione e abbiamo spiegato come i delegati di azione siano diversi dai delegati personalizzati, come possono ridurre le dimensioni di un codice e come reagisce all'utilizzo dell'istruzione di ritorno.