vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Übergabe ByVal oder ByRef 
Autor: Manfred X
Datum: 25.10.23 18:18

Wenn man in einer Funktion der mit Byval übergebenen Referenzvariable
ein neues Objekt zuweist (per New erstellt oder bereits bestehend)
ist diese Zuweisung nur innerhalb der Funktion gültig, weil dort
eine lokale Kopie der Variable (Zeiger) verwendet wird.

Hat man allerdings bereits vor dieser Neuzuweisung in der Funktion
am referenzierten Objekt Änderungen vorgenommen, werden diese Änderungen
natürlich auch im rufenden Programm wirksam, weil das Objekt selbst
nicht lokal kopiert worden ist.

Übergibt man die Referenzvariable ByRef wird bei einer Neuzuweisung innerhalb
einer Funktion diese Referenz auch im rufenden Programm wirksam und
man erhält danach Zugriff auf das neu zugewiesene Objekt.


Beispiel
Dim stb As New Text.StringBuilder("aaaa")
Dim stb1 As Text.StringBuilder = stb
 
Testit(stb)
 
 
'Diese Funktion liefert die Zeichenfolge aaaabbbb in der Variable stb zurück
Private Function Testit(ByVal stb As Text.StringBuilder)
 
  stb.Append("bbbb")
 
  stb = New Text.StringBuilder("cccc")
 
End Function
 
 
'Diese Funktion liefert die Zeichenfolge cccc in der Variable stb zurück
'Die Variable stb1 enthält die Zeichenfolge aaaabbbb
Private Function Testit(ByRef stb As Text.StringBuilder)
 
  stb.Append("bbbb")
 
  stb = New Text.StringBuilder("cccc")
 
End Function


Beitrag wurde zuletzt am 25.10.23 um 18:34:32 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Übergabe ByVal oder ByRef339sv0001025.10.23 08:18
Re: Übergabe ByVal oder ByRef131Manfred X25.10.23 11:19
Re: Übergabe ByVal oder ByRef121sv0001025.10.23 13:46
Re: Übergabe ByVal oder ByRef129Manfred X25.10.23 14:14
Re: Übergabe ByVal oder ByRef153sv0001025.10.23 15:23
Re: Übergabe ByVal oder ByRef141Manfred X25.10.23 18:18
Re: Übergabe ByVal oder ByRef99sv0001026.10.23 07:58
Re: Übergabe ByVal oder ByRef91Manfred X26.10.23 08:35
Re: Übergabe ByVal oder ByRef113Kuno6026.10.23 20:11

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel