Dela via


Skillnader mellan parametrar och argument (Visual Basic)

I de flesta fall måste ett förfarande ha viss information om de omständigheter under vilka det har anropats. En procedur som utför upprepade eller delade uppgifter använder olika information för varje anrop. Den här informationen består av variabler, konstanter och uttryck som du skickar till proceduren när du anropar den.

För att förmedla den här informationen till proceduren definierar proceduren en parameter och den anropande koden skickar ett argument till parametern. Du kan se parametern som en parkeringsplats och argumentet som en bil. Precis som olika bilar kan parkera på en parkeringsplats vid olika tidpunkter kan anropskoden skicka ett annat argument till samma parameter varje gång den anropar proceduren.

Parametrar

En parameter representerar ett värde som du förväntas skicka i proceduren när du anropar den. Procedurens deklaration definierar dess parametrar.

När du definierar en Function eller Sub procedur anger du en parameterlista inom parenteser omedelbart efter procedurnamnet. För varje parameter anger du ett namn, en datatyp och en överföringsmekanism (ByVal eller ByRef). Du kan också ange att en parameter är valfri. Det innebär att den anropande koden inte behöver skicka ett värde för den.

Namnet på varje parameter fungerar som en lokal variabel i proceduren. Du använder parameternamnet på samma sätt som du använder andra variabler.

Argument

Ett argument representerar det värde som du skickar till en procedurparameter när du anropar proceduren. Den anropande koden tillhandahåller argumenten när den anropar proceduren.

När du anropar en Function eller Sub -procedur inkluderar du en argumentlista inom parenteser omedelbart efter procedurnamnet. Varje argument motsvarar parametern i samma position i listan.

Till skillnad från parameterdefinitionen har argumenten inga namn. Varje argument är ett uttryck som kan innehålla noll eller fler variabler, konstanter och literaler. Datatypen för det utvärderade uttrycket ska vanligtvis matcha den datatyp som definierats för motsvarande parameter, och i vilket fall som helst måste den konverteras till parametertypen.

Se även