Różnice pomiędzy przekazywaniem argumentu według wartości i według odwołania (Visual Basic)

Po przesunięciu jednego lub więcej argumentów procedury każdego argumentu odpowiada podstawowym elementem programowania kod wywołujący.Można przekazać wartość tego elementu podstawowego lub odwołanie do niego.Jest to znane jako przekazując mechanizm.

Przekazywanie przez wartość

Przekazać argumentu przez wartość przez określenie ByVal (Visual Basic) słowa kluczowego dla odpowiadającego mu parametru w definicji procedury.Gdy używasz tego mechanizmu, przekazując Visual Basic skopiowanie wartości podstawowych elementów programowania do zmiennej lokalnej w procedurze.Kodeksu postępowania nie ma dostępu do podstawowych elementów w polu kod wywołujący.

Przekazywanie przez odwołanie

Przekazać argumentu przez odniesienie przez określenie ByRef (Visual Basic) słowa kluczowego dla odpowiadającego mu parametru w definicji procedury.Gdy używasz tego mechanizmu, przekazując Visual Basic daje procedura bezpośredniego odwołania do podstawowych elementów programowania kodu wywołującego.

Mechanizm przekazywania i typ elementu

Wybór mechanizmu przekazywania nie jest taki sam, jak klasyfikacji podstawowy typ elementu.Przekazywanie przez wartość lub przez odwołanie odnosi się do co Visual Basic dostaw do Kodeksu postępowania.Wpisz wartość lub typ odwołania odnosi się do sposobu programowania element jest przechowywany w pamięci.

Jednakże mechanizm przekazywania i typ elementu są ze sobą powiązane.Wartość typu odwołania jest wskaźnik do danych w innym miejscu pamięci.Oznacza to, że po przesunięciu typ odwołania przez wartość Kodeksu postępowania ma wskaźnik do danych podstawowych elementów, nawet jeśli go nie może uzyskać dostępu do podstawowych samego elementu.Na przykład jeśli element jest zmienną tablicową, kodeksu postępowania nie ma dostępu do samej zmiennej, ale może uzyskać dostęp do elementów członkowskich macierzy.

Możliwość modyfikowania

Po przesunięciu elementu nonmodifiable jako argument procedury można nigdy nie zmodyfikować go w kod wywołujący, czy jest on przekazywany ByVal lub ByRef.

Dla elementu można modyfikować w następującej tabeli podsumowano interakcji między typ elementu i mechanizm przekazywania.

Typ elementu

PrzekazanyByVal

PrzekazanyByRef

Typ wartości (zawiera tylko wartości)

Procedury nie można zmienić, zmienna lub któregokolwiek z członków.

Procedurę można zmienić zmienną i jej członków.

Typ odwołania (zawiera wskaźnik do instancji klasy lub struktury)

Procedura nie można zmienić tej zmiennej, ale można zmienić członków wystąpienia, które punkty.

Procedury można zmienić zmienną i członków wystąpienia, które punkty.

Zobacz też

Zadania

Porady: przekazywanie argumentów do procedury (Visual Basic)

Porady: zmienianie wartości argumentu procedury (Visual Basic)

Porady: chronienie argumentu procedury przed zmianami wartości (Visual Basic)

Porady: wymuszanie przekazywania argumentu przez wartość (Visual Basic)

Koncepcje

Procedury w Visual Basic

Parametry i argumenty procedur (Visual Basic)

Przekazywanie argumentów według wartości i według odwołania (Visual Basic)

Różnice pomiędzy argumentami modyfikowalnymi i niemodyfikowalnymi (Visual Basic)

Przekazywanie argumentów według pozycji i według nazwy (Visual Basic)

Typy wartości i odwołań