In Visual Basic geht die Übergabemechanismus Argumente an eine Prozedur . Diese Übergabemechanismus ist mit einem der beiden Schlüsselwörter angegeben : " . ByRef " " ByVal " oder Diese Schlüsselwörter können Sie festlegen, ob der Wert eines Arguments übergeben wird, oder ein Verweis auf den Wert eines Arguments wird durch den Mechanismus an die Prozedur übergeben . Bewerten Sie die Art von Funktionalität, die Sie brauchen, und bezeichnen das Stichwort , das am besten passt diese Art von Funktionalität . Was ist " ByVal " ?
" ByVal " ist das Stichwort , das die Übergabemechanismus anweist, den Wert eines Arguments an eine Prozedur übergeben . Wenn Sie ein Argument als Wert , Visual Basic Kopien der Wert und fügt sie in eine lokale Variable innerhalb der Prozedur . Die " ByVal " Stichwort ist gültig in " Declare " Aussagen , "Funktion" Aussagen , "Operator" Aussagen " Property" Aussagen und "Sub" -Anweisungen. Unabhängig von Art und Verlustrechnung , der " ByVal " Stichwort bezieht sich immer auf die vorbeiziehende Mechanismus .
Was ist " ByRef " ?
" ByRef " ist das Schlüsselwort, das die Anweisung Übergabemechanismus das Argument als Verweis übergeben , die auch als Zeiger in einigen Programmierung Grundlagen Dokumentation bezeichnet. Dieser leitet einen direkten Bezug des Arguments des Verfahrens . " ByRef " ist der Standard- Spezifikation , wenn ein Argument , aber man sollte die Spezifikation zum leichteren Lesen von Code von anderen gehören . Die " ByRef " Stichwort ist gültig in " Declare " Aussagen , "Funktion" Aussagen und "Sub" -Anweisungen. Wie " ByVal ", " ByRef " bezieht sich immer auf die vorbeiziehende Mechanismus unabhängig von der Art und Verlustrechnung .
Verwendung von " ByRef " und " ByVal "
Welches Schlüsselwort, das Sie verwenden, hängt von der Funktionalität, die Sie brauchen, und mit dem, was Sie gerade arbeiten. Arrays müssen per Referenz übergeben werden , so würden Sie immer verwenden " ByRef " mit einem Array. Wenn Sie keine Änderungen an der Argumentation und seinem Element verhindern wollen , verwenden Sie " ByVal " . Dies liegt daran, " ByVal " nicht für die Änderung zu ermöglichen. Wenn Sie brauchen, um in der Lage sein , Änderungen vorzunehmen , verwenden Sie " ByRef " . Suchergebnisse für " ByRef " vs " ByVal "
Der große Unterschied zwischen " ByRef " und " ByVal " ist, dass " ByRef " für die Argumentation Element ermöglicht es, modifiziert und " ByVal " nicht. " ByVal " lässt nur einen Wert , wo " ByRef " leitet eine Verbindung . " ByVal " schützt das Argument und seinem Element von jeder Änderung und " ByRef " ermöglicht den Zugang zur Modifikation Zwecke . " ByRef " ist besser für die Leistung , wo große Mengen von Code in der Auseinandersetzung beteiligt sind , weil " ByVal " müsste der gesamte Code kopieren , wie es an die Prozedur übergeben .