Udostępnij za pośrednictwem


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

Podczas wywoływania procedury zazwyczaj przekazujesz do niej jeden lub więcej argumentów. Każdy argument odpowiada bazowemu elementowi programowania. Zarówno podstawowe elementy, jak i same argumenty mogą być modyfikowalne lub niemodyfikowalne.

Elementy modyfikowalne i niemodyfikowalne

Elementem programowania może być element modyfikowalny, który może mieć zmienioną wartość lub element niemodyfikowalny, który ma stałą wartość po jego utworzeniu.

W poniższej tabeli wymieniono modyfikowalne i niemodyfikowalne elementy programowania.

Elementy modyfikowalne Elementy niezmodyfikowalne
Zmienne lokalne (zadeklarowane wewnątrz procedur), w tym zmienne obiektu, z wyjątkiem tylko do odczytu Zmienne, pola i właściwości tylko do odczytu
Pola (zmienne składowe modułów, klas i struktur), z wyjątkiem tylko do odczytu Stałe i literały
Właściwości, z wyjątkiem tylko do odczytu Elementy członkowskie wyliczenia
Elementy tablicy Wyrażenia (nawet jeśli ich elementy są modyfikowalne)

Argumenty modyfikowalne i niezmodyfikowalne

Modyfikowalny argument jest jednym z modyfikowalnym elementem bazowym. Kod wywołujący może przechowywać nową wartość w dowolnym momencie, a jeśli przekażesz argument ByRef, kod w procedurze może również zmodyfikować element źródłowy w kodzie wywołującym.

Argument niemodyfikowalny ma niemodyfikowalny element bazowy lub jest przekazywany przez funkcję ByVal. Procedura nie może zmodyfikować podstawowego elementu w kodzie wywołującym, nawet jeśli jest to element modyfikowalny. Jeśli jest to element niemodyfikowalny, sam kod wywołujący nie może go modyfikować.

Wywołana procedura może zmodyfikować jego lokalną kopię argumentu niemodyfikowalnego, ale ta modyfikacja nie ma wpływu na podstawowy element w kodzie wywołującym.

Zobacz też