Differenza tra fuori e ref in C #

Differenza chiave - fuori vs ref in C #
 

C # è un linguaggio di programmazione moderno sviluppato da Microsoft. È utilizzato per lo sviluppo di varie applicazioni per desktop, web e mobile. Funzioni o metodi è un concetto in programmazione. Quel gruppo di istruzioni utilizzate per eseguire un'attività specifica è noto come funzione o metodo. Nei programmi C #, l'esecuzione inizia da main (). È un esempio di un metodo. Quando si chiama un metodo, i dati vengono passati al metodo o ricevuti dal metodo. Il metodo che chiama il nuovo metodo è noto come chiamando il metodo. Il nuovo metodo è noto come chiamato metodo. Per gestire i valori di passaggio e recuperare il risultato, C # utilizza i parametri. Sono parametri valutati, parametri di output e parametri di riferimento. I parametri del valore vengono utilizzati per passare parametri nel metodo in base al valore. I parametri di riferimento vengono utilizzati per passare parametri al metodo per riferimento. I parametri di output vengono utilizzati per passare il risultato indietro dal metodo. In C #, la parola chiave out viene utilizzata per i parametri di output e la parola chiave ref viene utilizzata per fare riferimento ai parametri. Il differenza fondamentale tra fuori e ref in C # è quello, out è una parola chiave utilizzata per riferire un parametro di output che viene utilizzato per passare i risultati dal metodo chiamato al metodo di chiamata mentre ref è una parola chiave per riferirsi a un parametro di riferimento utilizzato per passare i dati dal metodo di chiamata al metodo chiamato e per ricevere i dati dal metodo chiamato al metodo di chiamata.

CONTENUTO

1. Panoramica e differenza chiave
2. Cosa c'è in C #
3. Cosa è ref in C #
4. Somiglianze tra fuori e ref in C #
5. Confronto fianco a fianco - fuori vs ref in C # in forma tabulare
6. Sommario

Cosa c'è in C #?

La sintassi per la funzione o un metodo è la seguente. Un metodo ha un numero di elementi come nome del metodo, lista parametri, tipo di ritorno e identificatore di accesso.

(elenco dei parametri)

// dichiarazioni da eseguire

Ogni metodo ha un metodo unico per effettuare la chiamata alla funzione. Le istruzioni eseguibili sono all'interno di parentesi graffe. Il tipo di ritorno spiega se la funzione restituisce o meno un valore. Quando non esiste un tipo di reso, è chiamato void. Lo specificatore di accesso viene utilizzato per specificare l'accessibilità del metodo nell'applicazione. I parametri vengono utilizzati per ricevere o passare dati al metodo. Possono esserci anche metodi senza parametri. I parametri possono essere parametri valutati, parametri di output o parametri di riferimento.

I parametri di output vengono utilizzati per passare i risultati al metodo di chiamata. Per questo, il parametro deve essere dichiarato con la parola chiave out. Il parametro di output non crea una nuova posizione di archiviazione. Generalmente, un metodo restituisce un valore. Ma in C #, è possibile restituire due valori da una funzione usando i parametri di output. Fare riferimento al programma seguente.

namespace application1

            calcolo della classe pubblica

display public void (out int a, out int b)

valore int = 5;

a = valore;

b = valore;

a = a * a;

b = b * b;

public static void main (String [] args)

int value1 = 10, value2 = 20;

Calcolo cal = new Calculation ();

cal.display (valore out1, valore out2);

Console.ReadLine ();

La funzione di visualizzazione è chiamata dal metodo principale. Il valore 1 e il valore due hanno 10 e 20, ma non vengono presi nel metodo. Il valore di a è 25 e il valore di b è anche 25 nella funzione. Pertanto, tali valori vengono restituiti. Quando stampi valore1 e valore2, non darà 10 e 20. Invece, stamperà 25 e 25. Usando la parola chiave out, è possibile restituire più valori dal metodo.

Cosa è ref in C #?

Quando si passano i parametri per valore, viene creata una nuova posizione di memorizzazione per ciascun parametro. I parametri effettivi inviati dal programma principale non cambiano. Invece, quei valori sono copiati in una posizione separata. Quelle nuove copie variabili sono chiamate parametri formali. Fare riferimento al codice seguente.

namespace application1

calcolo della classe pubblica

public void swap (int x, int y)

int temp;

temp = x;

x = y;

y = temp;

public static void main (String [] args)

Calcolo cal = new Calculation ();

int p = 2;

int q = 3;

cal.swap (p, q);

Console.WriteLine (p);

Console.WriteLine (q);

Console.ReadLine ();

Secondo il programma di cui sopra, la classe Calculation ha un metodo swap (). Nel programma principale, viene creato un oggetto di tipo Calcolo. Ci sono due valori come p e q. La variabile p ha valore 2 e la variabile q ha valore 3. Questi due valori vengono passati al metodo swap. Nel metodo swap, il valore 2 viene copiato nella variabile x e il valore 3 viene copiato nella variabile y. Usando la variabile temp, i valori vengono scambiati. Tornando al programma principale, quando si stampa p e q, i valori non vengono scambiati. Il valore p è ancora 2 e il valore q è 3. Anche nel metodo swap, i valori vengono scambiati ma non si riflettono nel programma principale.

A differenza dei valori di passaggio come sopra, è possibile passare i parametri per riferimento. Una variabile di riferimento è un riferimento alla posizione di memoria. Non è stata creata una nuova posizione di memoria. Le modifiche nel metodo si riflettono nel programma principale. In C #, i parametri di riferimento sono riferiti usando la parola chiave ref. Fare riferimento al programma seguente.

namespace application1

calcolo della classe pubblica

public void swap (ref int x, ref int y)

int temp;

temp = x;

x = y;

y = temp;

public static void main (String [] args)

Calcolo cal = new Calculation ();

int p = 2;

int q = 3;

cal.swap (ref p, ref q);

Console.WriteLine (p);

Console.WriteLine (q);

Console.ReadLine ();

Secondo il programma di cui sopra, la classe Calculation ha il metodo swap. Nel programma principale, viene creato un oggetto di tipo Calcolo. Sono due variabili come p e q. La variabile p ha il valore 2 e la variabile q ha il valore 3. Invece di passare valori, il riferimento alle posizioni di memoria di p e q viene passato al metodo. Quelle variabili di riferimento sono riferite usando ref. Nel metodo di scambio, anziché copiare i valori in una nuova posizione, le modifiche vengono apportate ai parametri effettivi. Quando si stampano i valori p e q del programma principale, fornirà i valori scambiati. Ora il valore p è 3 e il valore q è 2.

Qual è la somiglianza tra fuori e ref in C #?

  • Entrambe sono parole chiave utilizzate per riferirsi ai parametri di un metodo.

Qual è la differenza tra fuori e ref in C #?

fuori vs ref in C #

L'out è una parola chiave in C # che viene utilizzata per riferire un parametro di output. È usato per passare i risultati da un metodo chiamato a chiamare il metodo. Il riferimento è una parola chiave in C # che viene utilizzata per riferire un parametro di riferimento. Viene utilizzato per passare i dati dal metodo di chiamata al metodo chiamato e per restituire i dati dal metodo chiamato al metodo di chiamata.
Funzionalità
Quando si utilizza la parola chiave out, i dati possono essere passati dal metodo di chiamata al metodo chiamato. Ma quei dati vengono scartati. È usato per passare il risultato al metodo chiamante dal metodo chiamato. Quando si utilizza la parola chiave ref, i dati vengono passati dal metodo chiamante al metodo chiamato e i dati manipolati vengono passati al metodo chiamante.
Passaggio dei dati
Quando si utilizza la parola chiave out, i dati vengono passati in un modo che è un metodo chiamato al metodo di chiamata. Quando si utilizza la parola chiave ref, i dati vengono passati in due modi: dal metodo di chiamata al metodo chiamato e dal metodo chiamato al metodo di chiamata.

Riassunto vs ref in C # 

Quando si richiama un metodo, potrebbe essere necessario passare i valori nel metodo e recuperare i risultati dal metodo. C # ha diversi parametri per raggiungere questo obiettivo. I parametri del valore vengono utilizzati per passare parametri nel metodo in base al valore. I parametri di riferimento vengono utilizzati per passare parametri al metodo per riferimento. I parametri di output vengono utilizzati per passare il risultato indietro dal metodo. In C #, la parola chiave out viene utilizzata per i parametri di output e la parola chiave ref viene utilizzata per fare riferimento ai parametri. La differenza tra out e ref in C # è che, out è una parola chiave utilizzata per riferire un parametro di output che viene utilizzato per passare i risultati dal metodo chiamato al metodo di chiamata mentre ref è una parola chiave per riferirsi a un parametro di riferimento che viene utilizzato per passare i dati da chiamare il metodo per chiamare il metodo e per ricevere i dati dal metodo chiamato al metodo di chiamata.

Scarica il PDF di out vs ref in C #

È possibile scaricare la versione PDF di questo articolo e utilizzarlo per scopi offline come da nota di citazione. Si prega di scaricare la versione PDF qui: Differenza tra Out e Ref in C #

Riferimento:

1.tutorialspoint.com. "Metodi C #."  Il punto. Disponibile qui 
2.dnfvideo. Parametri C # Out Vs parametri REF, .NET Intervista Preparazione video, 28 settembre 2015. Disponibile qui  

Cortesia dell'immagine:

1.'C sharp'By Mothmolevna - Opera propria, (Public Domain) via Commons Wikimedia