Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Visual Basic Grundkurs

Call ByRef versus Call ByVal

Testen Sie unsere 2019 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
In VB.NET kann ein Argument als Wert oder als Verweis an eine Prozedur oder Funktion übergeben werden. Dieser Übergabemechanismus legt fest, ob die Prozedur das Programmelement, das dem Argument im Aufrufcode zugrunde liegt, ändern kann.
02:35

Transkript

Wenn Sie Werte an einer Funktion oder Prozedur übergeben, gibt es in Vb.net zwei unterschiedliche Möglichkeiten. Einmal "Call ByValue" und "Call ByReference". Und hier, in diesem Video sehen Sie, worauf Sie dabei zu achten haben, und was das bedeutet. Wir schauen uns mal diese Konsolenanwendung an. Ich habe hier eine Variable deklariert "i" als Integer mit einem Default-Wert. In einer Prozedur "Aendern1" weise ich einer Variable "i" den Wert 12 zu. Dieses "i" ist der Name des Übergabewertes. Danach gebe ich diesen Wert aus. Beachten Sie das Schlüsselwort "ByVal" (Englisch) oder "ByVal"(Deutsch). In der zweiten Prozedur "Ändern2" steht "ByRef" - ByReference. Ansonsten wird auch hier ein neuer Wert zugewiesen. Wir lassen diesen Beispiel mal laufen und dann vergleichen wir, was hier passiert. Zuerst gebe ich eine Main-Methode den "Wert von diesem globalem i bei Beginn" aus. Das ist 42 Danach rufe ich die Funktion "Ändern1" auf und übergebe "i" und danach weise ich der Funktion hier einen neuen Wert zu. Und das ist 12. Danach schaue ich, was ist mit "i", mit dem globalen "i" passiert. Und da ist gar nichts passiert. hat immer noch den Wert 42. Dann mache ich das Gleiche. Ich rufe die Prozedur "Ändern2" auf, Weise da "i" den Wert 21 zu, gebe de aus. Soweit eigentlich auch noch nicht überraschend. Aber den nachfolgende Aufruf, wo ich die globale Variable "i" ausgebe, auch dort ist der Wert geändert. Und das ist eben der Unterschied zwischen diesem Call ByValue und CAll ByReference. Wenn Sie einen Wert oder genauer genommen eine Variable bei einer Prozedurfunktion ByValue übergeben, erzeugen Sie quasi eine Kopie der übergebenden Variable, die Sie in einer Funktion, in einer Prozedur beliebig andern können, ohne dass es Auswirkungen hat auf die übergebende Originalvariable. Wenn Sie ByRef übergeben, übergeben Sie einen Zeiger, eine Referenz auf die Originalvariable, auf die globale, und wenn Sie dann in der Funktion oder Prozedur eine Endung vornehmen, an dieser Variable, dann wirkt sich das auch auf der globalen Ebene aus. Der Standartfall in Vb.net ist ByValue, das heißt, in dem Moment, wo Sie weder ByVal noch ByRef hinschreiben ist die Übergabe immer ByValue.

Visual Basic Grundkurs

Entdecken Sie, wie eine der bekanntesten und verbreitetsten Programmiersprachen unter .NET funktioniert.

3 Std. 43 min (51 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Exklusiv für Abo-Kunden
Erscheinungsdatum:03.11.2014

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!