Dela via


Skillnader mellan ändringsbara och icke-modifierbara argument (Visual Basic)

När du anropar en procedur skickar du vanligtvis ett eller flera argument till den. Varje argument motsvarar ett underliggande programmeringselement. Både de underliggande elementen och själva argumenten kan vara antingen ändringsbara eller icke-modifierbara.

Modifierbara och icke-modifierbara element

Ett programmeringselement kan antingen vara ett ändringsbart element, som kan få sitt värde ändrat, eller ett element som inte kan modifieras, som har ett fast värde när det har skapats.

I följande tabell visas ändringsbara och icke-modifierbara programmeringselement.

Ändringsbara element Icke-modifierande element
Lokala variabler (deklarerade inuti procedurer), inklusive objektvariabler, förutom skrivskyddade Skrivskyddade variabler, fält och egenskaper
Fält (medlemsvariabler för moduler, klasser och strukturer), förutom skrivskyddade Konstanter och literaler
Egenskaper, förutom skrivskyddade Uppräkningsmedlemmar
Vektorelement Uttryck (även om elementen kan ändras)

Ändringsbara och icke-modifierbara argument

Ett ändringsbart argument är ett med ett ändringsbart underliggande element. Den anropande koden kan när som helst lagra ett nytt värde, och om du skickar argumentet ByRef kan koden i proceduren också ändra det underliggande elementet i den anropande koden.

Ett icke-modifierat argument har antingen ett icke-modifierat underliggande element eller så skickas ByVal. Proceduren kan inte ändra det underliggande elementet i den anropande koden, även om det är ett ändringsbart element. Om det är ett icke-modifierat element kan den anropande koden inte ändra den.

Den anropade proceduren kan ändra den lokala kopian av ett icke-modifierat argument, men den ändringen påverkar inte det underliggande elementet i den anropande koden.

Se även