In Visual Basic , de passerende mechanisme passeert argumenten om een procedure . Dit passerende mechanisme wordt gespecificeerd met een van de twee trefwoorden : " . ByRef " " ByVal " of Deze zoekwoorden kunt u opgeven of de waarde van een argument wordt doorgegeven , of een verwijzing naar de waarde van een argument wordt doorgegeven door het mechanisme om de procedure . Evalueer het soort functionaliteit die u nodig heeft en wijzen het zoekwoord dat het beste past bij dat soort functionaliteit . Wat is " ByVal " ? " ByVal " is het sleutelwoord dat de passerende mechanisme instrueert om de waarde van een argument doorgeven aan een procedure . Wanneer u een argument voorbij waarde , Visual Basic kopieën de waarde en voegt het in een lokale variabele binnen de procedure . De " ByVal " keyword is geldig in " Declare " statements , " Function " statements , " Operator " statements , " Property " verklaringen , en "Sub " statements . Ongeacht statement type, de " ByVal " keyword verwijst altijd naar de passerende mechanisme . Wat is " ByRef '? " ByRef " is het sleutelwoord dat instrueert de passeren mechanisme het argument voorbij referentie , ook wel aangeduid als een pointer in enige programmering fundamentals documentatie. Dit gaat een directe verwijzing van het argument om de procedure . " ByRef " is de specificatie standaard bij het passeren van een argument , maar men moet de specificatie voor een betere leesbaarheid van de code door anderen omvatten . De " ByRef " keyword is geldig in " Declare " statements , " Function " verklaringen , en "Sub " statements . Zoals " ByVal " , " ByRef " verwijst altijd naar de passerende mechanisme ongeacht het type verklaring . Gebruik van " ByRef " en " ByVal " welke zoekwoorden u gebruikt hangt af van de functionaliteit die u nodig hebt en met wat je werkt . Arrays moet worden doorgegeven door middel van verwijzing , dus zou je altijd gebruik maken van " ByRef " met een array . Als u wilt een wijziging aan van het argument en zijn element te voorkomen , zou u gebruik maken van ' ByVal " . Dit is omdat " ByVal " laat geen modificatie. Als u in staat moeten zijn om wijzigingen aan te brengen , gebruik " ByRef " . " ByRef " versus " ByVal " Het belangrijkste verschil tussen " ByRef " en " ByVal " is dat " ByRef " maakt onderdeel van het argument te worden aangepast en " ByVal " niet. " ByVal " laat alleen een waarde , waarbij " ByRef " passeert een verbinding . " ByVal " beschermt het argument en zijn element van elke wijziging en " ByRef " geeft toegang tot wijziging doeleinden . " ByRef " is beter voor prestaties waar grote hoeveelheden code zijn betrokken bij het argument omdat " ByVal " zou hebben om alle code te kopiëren als het doorgegeven aan de procedure . < Br > |