Differenza tra passaggio per Reference e per Value
Sub e Function sono programmi o parti di programma che sono separati e che possono essere chiamati da altri programmi.
Sub : E' una collezione di righe di codice che fanno qualcosa che può essere richiamato da un altro programma.
Function: simili alle sub ma hanno in più la capacità di restituire un valore o un oggetto.
In C# la parola Sub non viene usata in quanto viene vista come una Function che non restituisce valore.
Se vogliamo schematizzare l'utilizzo di Sub e Function nei due linguaggi, VB.NET e C#, scriveremo :
Nei due linguaggi di programmazione VB.NET e C# esistono delle parole chiavi che svolgono la funzione di "passaggio dei parametri".
Riferimento (ByRif): non si copia l'argomento nel parametro, ma si fa un passaggio dell'indirizzo di memoria, quindi del riferimento, cosicchè, la procedura vada ad operare sulla stessa variabile di memoria che abbiamo passato.
Sub e Function sono programmi o parti di programma che sono separati e che possono essere chiamati da altri programmi.
Sub : E' una collezione di righe di codice che fanno qualcosa che può essere richiamato da un altro programma.
Function: simili alle sub ma hanno in più la capacità di restituire un valore o un oggetto.
In C# la parola Sub non viene usata in quanto viene vista come una Function che non restituisce valore.
Se vogliamo schematizzare l'utilizzo di Sub e Function nei due linguaggi, VB.NET e C#, scriveremo :
Nei due linguaggi di programmazione VB.NET e C# esistono delle parole chiavi che svolgono la funzione di "passaggio dei parametri".
Le parole chiavi ByVal e ByRef convertono il passaggio dei parametri da valore a riferimento.
Valore (ByVal): l'argomento viene copiato nel parametro e quest'ultimo viene utilizzato dalla funzione o dalla sub. Ma qualunque cosa facciamo sul parametro non va a modificare l'argomento che gli è stato passato perché, il parametro è una copia dell'argomento che è stato passato in fase di chiamata.
Valore (ByVal): l'argomento viene copiato nel parametro e quest'ultimo viene utilizzato dalla funzione o dalla sub. Ma qualunque cosa facciamo sul parametro non va a modificare l'argomento che gli è stato passato perché, il parametro è una copia dell'argomento che è stato passato in fase di chiamata.
Riferimento (ByRif): non si copia l'argomento nel parametro, ma si fa un passaggio dell'indirizzo di memoria, quindi del riferimento, cosicchè, la procedura vada ad operare sulla stessa variabile di memoria che abbiamo passato.
Commenti
Posta un commento