Diferenças entre parâmetros e argumentos (Visual Basic)Differences Between Parameters and Arguments (Visual Basic)

Na maioria dos casos, um procedimento deve ter algumas informações sobre as circunstâncias em que ele tiver sido chamado.In most cases, a procedure must have some information about the circumstances in which it has been called. Um procedimento que executa tarefas repetidas ou compartilhadas usa informações diferentes para cada chamada.A procedure that performs repeated or shared tasks uses different information for each call. Essas informações consistem em variáveis, constantes e expressões que você passa para o procedimento quando você chamá-lo.This information consists of variables, constants, and expressions that you pass to the procedure when you call it.

Para se comunicar essas informações para o procedimento, o procedimento define um parâmetro, e o código de chamada passa um argumento para esse parâmetro.To communicate this information to the procedure, the procedure defines a parameter, and the calling code passes an argument to that parameter. Você pode considerar o parâmetro como um espaço de estacionamento e o argumento como um automóvel.You can think of the parameter as a parking space and the argument as an automobile. Assim como automóveis diferentes podem deixar um espaço de estacionamento em momentos diferentes, o código de chamada pode passar um argumento diferente para o mesmo parâmetro toda vez que ele chama o procedimento.Just as different automobiles can park in a parking space at different times, the calling code can pass a different argument to the same parameter every time that it calls the procedure.

ParâmetrosParameters

Um parâmetro representa um valor que o procedimento espera que você passe quando você chamá-lo.A parameter represents a value that the procedure expects you to pass when you call it. Declaração do procedimento define seus parâmetros.The procedure's declaration defines its parameters.

Quando você define uma Function ou Sub procedimento, você especifica um lista de parâmetros entre parênteses imediatamente após o nome do procedimento.When you define a Function or Sub procedure, you specify a parameter list in parentheses immediately following the procedure name. Para cada parâmetro, você especificar um nome, um tipo de dados e um mecanismo de passagem (ByVal ou ByRef).For each parameter, you specify a name, a data type, and a passing mechanism (ByVal or ByRef). Você também pode indicar que um parâmetro é opcional.You can also indicate that a parameter is optional. Isso significa que o código de chamada não precisa passar um valor para ele.This means that the calling code does not have to pass a value for it.

O nome de cada parâmetro serve como uma variável local no procedimento.The name of each parameter serves as a local variable in the procedure. Você usar o nome do parâmetro da mesma maneira que você usar qualquer outra variável.You use the parameter name the same way you use any other variable.

ArgumentsArguments

Uma argumento representa o valor que você passa para um parâmetro de procedimento quando você chama o procedimento.An argument represents the value that you pass to a procedure parameter when you call the procedure. O código de chamada fornece os argumentos quando ele chama o procedimento.The calling code supplies the arguments when it calls the procedure.

Quando você chama um Function ou Sub procedimento, você incluir um lista de argumentos entre parênteses imediatamente após o nome do procedimento.When you call a Function or Sub procedure, you include an argument list in parentheses immediately following the procedure name. Cada argumento corresponde ao parâmetro na mesma posição na lista.Each argument corresponds to the parameter in the same position in the list.

Em contraste com a definição de parâmetro, argumentos não têm nomes.In contrast to parameter definition, arguments do not have names. Cada argumento é uma expressão, que pode conter zero ou mais variáveis, constantes e literais.Each argument is an expression, which can contain zero or more variables, constants, and literals. O tipo de dados da expressão avaliada normalmente deve corresponder ao tipo de dados definido para o parâmetro correspondente e, em qualquer caso deve ser conversível para o tipo de parâmetro.The data type of the evaluated expression should typically match the data type defined for the corresponding parameter, and in any case it must be convertible to the parameter type.

Consulte tambémSee also