In Visual Basic , il meccanismo di passaggio passa argomenti a una routine . Questo meccanismo di passaggio è specificato con una delle due parole chiave : " . ByRef " " ByVal " o Queste parole chiave consentono di specificare se il valore di un argomento viene passato , o un riferimento al valore di un argomento viene passato per il meccanismo per la procedura. Valutare il tipo di funzionalità necessarie e designare la parola chiave che meglio si adattano che tipo di funzionalità . Che cosa è " ByVal " ?
" ByVal " è la parola chiave che indica al meccanismo di passaggio per passare il valore di un argomento di una procedura . Quando si passa un argomento per valore, copie di Visual Basic il valore e la inserisce in una variabile locale all'interno della procedura . La parola chiave " ByVal " è valido in " Declare " dichiarazioni , dichiarazioni di "funzione" , le dichiarazioni "operatore" , le dichiarazioni "bene" , e le dichiarazioni "sub" . Indipendentemente dal tipo di istruzione , la parola chiave " ByVal " si riferisce sempre al meccanismo di passaggio .
Che cosa è " ByRef " ?
" ByRef " è la parola chiave che indica al meccanismo di passaggio per passare l'argomento per riferimento, indicato anche come un puntatore a qualche documentazione fondamenti programmazione . Questo passa un riferimento diretto dell'argomento alla procedura . " ByRef " è la specifica di default quando si passa un argomento , ma uno deve includere le specifiche per una più facile lettura del codice da parte di altri . La parola chiave " ByRef " valido a " dichiarare" le dichiarazioni , le dichiarazioni "funzione" , e le dichiarazioni "sub" . Come " ByVal " , " ByRef " si riferisce sempre al meccanismo di passaggio , indipendentemente dal tipo di istruzione .
Uso di " ByRef " e " ByVal "
quale parola chiave utilizzata dipende la funzionalità necessaria e con quello che si sta lavorando . Gli array devono essere passati per riferimento , quindi si dovrebbe sempre usare " ByRef " con un array. Se si vuole evitare qualsiasi modifica alla tesi e il suo elemento , è necessario utilizzare " ByVal " . Questo perché " ByVal " non consente la modifica . Se si ha bisogno di essere in grado di apportare modifiche , utilizzare " ByRef " .
" ByRef " vs " ByVal "
La principale differenza tra " ByRef " e " ByVal " è che " ByRef " permette elemento dell'argomento da modificare e " ByVal " non lo fa. " ByVal " passa solo un valore, dove " ByRef " passa una connessione. " ByVal " protegge l'argomento e il suo elemento di ogni cambiamento e " ByRef " consente l'accesso a scopo di modifica . " ByRef " è meglio per le prestazioni in cui grandi quantità di codice sono coinvolti nella discussione perché " ByVal " avrebbe dovuto copiare tutto il codice che passava per la procedura .
< Br >