Rozdíly mezi předáním Argument hodnotu a odkaz (Visual Basic)
Když předáte jeden nebo více argumentů do procedury, odpovídá každý argument základní programovací element v volající kód.Můžete předat tento základní prvek hodnotu nebo odkaz na něj.Říká se mechanismus předávání.
Předání hodnotou
Předat argument hodnotou určením ByVal (Visual Basic) klíčové slovo odpovídající parametru v definice procedury.Při použití tohoto mechanismu, předávání Visual Basic zkopíruje hodnotu základní programovací element do místní proměnné v postupu.Kód postupu nemá volající kód přístup k základní prvek.
Předání odkazem
Předat argument podle určením Parametr ByRef (Visual Basic) klíčové slovo odpovídající parametru v definice procedury.Při použití tohoto mechanismu, předávání Visual Basic postup poskytuje přímý odkaz na základní programovací element v volající kód.
Mechanismus předávání a typ prvku
Volba mechanismus předávání není stejný jako klasifikace základní typ prvku.Předávání hodnotou nebo odkazem odkazuje na co Visual Basic dodává kód postupu.Typ hodnoty nebo typ odkazu označuje jak je programovací element uložené v paměti.
Však mechanismus předávání a typ prvku souvisejí.Hodnota typu odkazu je ukazatel na data v paměti.To znamená, že když předáte hodnotu typu odkazu, kód postupu má ukazatel na základní prvek dat, přestože základní prvek sám nemůže získat přístup.Pokud prvek je proměnné pole, například kód postupu nemá přístup k proměnné sám, ale má přístup členů pole.
Možnost upravit
Při předání nonmodifiable prvku jako argument, postup nikdy ji upravit v kódu volajícího, zda je předán ByVal nebo ByRef.
Následující tabulka shrnuje upravitelné prvku, interakce mezi typ prvku a mechanismus předávání.
Typ prvku |
PředanýByVal |
PředanýByRef |
---|---|---|
Typ hodnoty (obsahuje pouze hodnotu) |
Postup nelze změnit proměnné nebo kterýkoli z jejích členů. |
Postup lze změnit proměnnou a její členové. |
Typ odkazu (obsahuje ukazatel na instanci třídy nebo struktury) |
Postup nelze změnit proměnnou, ale můžete změnit členy instance, na který odkazuje. |
Postup lze změnit proměnnou a členové instance, na který odkazuje. |
Viz také
Úkoly
Jak: předat argumenty procedury (Visual Basic)
Jak: Změňte hodnotu argumentu procedury (Visual Basic)
Jak: chránit postup Argument proti změny hodnot (Visual Basic)
Jak: Vynutit Argument předání hodnotou (Visual Basic)
Koncepty
Procedury v jazyce Visual Basic
Postup parametry a argumenty (Visual Basic)
Předávání argumentů hodnotou a odkaz (Visual Basic)
Rozdíly mezi argumenty upravitelné a Nonmodifiable (Visual Basic)