Differenza Tra Out E Ref In C

Sommario:

Differenza Tra Out E Ref In C
Differenza Tra Out E Ref In C

Video: Differenza Tra Out E Ref In C

Video: Differenza Tra Out E Ref In C
Video: C # Out параметры против параметров REF 2024, Novembre
Anonim

Differenza chiave: out vs ref in C #

C # è un moderno linguaggio di programmazione sviluppato da Microsoft. Viene utilizzato per lo sviluppo di varie applicazioni per desktop, web e mobile. Funzioni o metodi è un concetto nella 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 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 chiamata del metodo. Il nuovo metodo è noto come metodo chiamato. Per la gestione dei valori passati e il recupero del risultato, C # usa i parametri. Sono parametri valutati, parametri di output e parametri di riferimento. I parametri value vengono utilizzati per passare i parametri al metodo in base al valore. I parametri di riferimento vengono utilizzati per passare i parametri al metodo per riferimento. I parametri di output vengono utilizzati per restituire il risultato 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 fondamentale tra out e ref in C # è che out è una parola chiave utilizzata per fare riferimento a un parametro di output utilizzato per passare i risultati dal metodo chiamato al metodo chiamante mentre ref è una parola chiave per fare riferimento a un parametro di riferimento che viene utilizzato per passare dati dal metodo chiamante al metodo chiamato e per ricevere i dati dal metodo chiamato al metodo chiamante.out è una parola chiave utilizzata per fare riferimento a un parametro di output che viene utilizzato per passare i risultati dal metodo chiamato al metodo chiamante mentre ref è una parola chiave per fare riferimento a un parametro di riferimento che viene utilizzato per passare i dati dal metodo chiamante al metodo chiamato e per ricevere i dati dal metodo chiamato al metodo chiamante.out è una parola chiave utilizzata per fare riferimento a un parametro di output che viene utilizzato per passare i risultati dal metodo chiamato al metodo chiamante mentre ref è una parola chiave per fare riferimento a un parametro di riferimento che viene utilizzato per passare i dati dal metodo chiamante al metodo chiamato e per ricevere i dati dal metodo chiamato al metodo chiamante.

CONTENUTI

1. Panoramica e differenza fondamentale

2. Cosa c'è in C #

3. Cosa è ref in C #

4. Somiglianze tra out e ref in C #

5. Confronto affiancato - out vs ref in C # in formato tabulare

6. Riepilogo

Cosa c'è in C #?

La sintassi per una funzione o un metodo è la seguente. Un metodo ha una serie di elementi come il nome del metodo, l'elenco dei parametri, il tipo restituito e lo specificatore di accesso.

(lista parametri)

{// istruzioni da eseguire

}

Ogni metodo ha un metodo univoco per effettuare la chiamata di funzione. Le istruzioni eseguibili sono racchiuse tra parentesi graffe. Il tipo restituito spiega se la funzione restituisce un valore o meno. Quando non esiste un tipo di ritorno, viene chiamato void. L'identificatore 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.

Differenza tra out e ref in C #
Differenza tra out e ref in C #

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

namespace application1 {

calcolo della classe pubblica {

public void display (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 valore1 = 10, valore2 = 20;

Calculation cal = new Calculation ();

cal.display (out value1, out value2);

Console. ReadLine ();

}

}

}

La funzione display viene chiamata dal metodo main. Il valore1 e il valore due hanno 10 e 20, ma non vengono presi nel metodo. Il valore di a è 25 e anche il valore di b è 25 nella funzione. Pertanto, vengono restituiti quei valori. Quando si stampa valore1 e valore2, non darà 10 e 20. Invece, stamperà 25 e 25. Utilizzando la parola chiave out è possibile restituire più valori dal metodo.

Cos'è ref in C #?

Quando si passano i parametri in base al valore, viene creata una nuova posizione di archiviazione per ogni parametro. I parametri effettivi inviati dal programma principale non cambiano. Invece, quei valori vengono copiati in una posizione separata. Queste nuove copie di 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) {

Calculation cal = new Calculation ();

int p = 2;

int q = 3;

cal.swap (p, q);

Console. WriteLine (p);

Console. WriteLine (q);

Console. ReadLine ();

}

}

}

Secondo il programma precedente, la classe Calculation ha un metodo swap (). Nel programma principale viene creato un oggetto di tipo Calcolo. Ci sono due valori come pe q. La variabile p ha valore 2 e q variabile ha valore 3. Questi due valori vengono passati al metodo di scambio. Nel metodo swap, il valore 2 viene copiato nella variabile x e il valore 3 viene copiato nella variabile y. Utilizzando la variabile temporanea, i valori vengono scambiati. Tornando al programma principale, quando si stampa peq, 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 del passaggio di valori 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. I cambiamenti nel metodo si riflettono nel programma principale. In C #, i parametri di riferimento vengono indicati utilizzando 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) {

Calculation cal = new Calculation ();

int p = 2;

int q = 3;

cal.swap (rif p, rif q);

Console. WriteLine (p);

Console. WriteLine (q);

Console. ReadLine ();

}

}

}

Secondo il programma precedente, la classe Calculation ha il metodo di scambio. Nel programma principale viene creato un oggetto di tipo Calcolo. Ci sono due variabili come p e q. La variabile p ha il valore 2 e la variabile q ha il valore 3. Piuttosto che passare valori, il riferimento alle posizioni di memoria di peq viene passato al metodo. Quelle variabili di riferimento sono riferite usando ref. Nel metodo di scambio, invece di 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, verranno forniti i valori scambiati. Ora il valore p è 3 e il valore q è 2.

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

Entrambe sono parole chiave utilizzate per fare riferimento ai parametri di un metodo

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

Articolo diff. Al centro prima della tabella

out vs ref in C #

Out è una parola chiave in C # utilizzata per fare riferimento a un parametro di output. Viene utilizzato per passare i risultati da un metodo chiamato alla chiamata del metodo. Ref è una parola chiave in C # utilizzata per fare riferimento a un parametro di riferimento. Viene utilizzato per passare i dati dal metodo chiamante al metodo chiamato e per restituire i dati dal metodo chiamato al metodo chiamante.
Funzionalità
Quando si utilizza la parola chiave out, i dati possono essere passati dal metodo chiamante al metodo chiamato. Ma quei dati vengono scartati. Viene utilizzato 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 restituiti al metodo chiamante.
Passaggio di dati
Quando si utilizza la parola chiave out, i dati vengono passati in un modo che è un metodo chiamato al metodo chiamante. Quando si utilizza la parola chiave ref, i dati vengono passati in due modi, dal metodo chiamante al metodo chiamato e dal metodo chiamato al metodo chiamante.

Riepilogo: out vs ref in C #

Quando si richiama un metodo, potrebbe essere necessario passare i valori al metodo e recuperare i risultati dal metodo. C # ha parametri diversi per raggiungere questo obiettivo. I parametri value vengono utilizzati per passare i parametri al metodo in base al valore. I parametri di riferimento vengono utilizzati per passare i parametri al metodo per riferimento. I parametri di output vengono utilizzati per restituire il risultato 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 fare riferimento a un parametro di output utilizzato per passare i risultati dal metodo chiamato al metodo chiamante mentre ref è una parola chiave per fare riferimento a un parametro di riferimento che viene utilizzato per passare i dati da metodo chiamante al metodo chiamato e per ricevere i dati dal metodo chiamato al metodo chiamante.

Scarica il PDF di out vs ref in C #

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

Raccomandato: