Различия между параметрами и аргументами (Visual Basic)

В большинстве случаев процедура должна иметь некоторую информацию о обстоятельствах, в которых она была вызвана. Процедура, выполняющая повторяющиеся или общие задачи, использует разные сведения для каждого вызова. Эта информация состоит из переменных, констант и выражений, которые передаются в процедуру при вызове.

Для передачи этих сведений в процедуру процедура определяет параметр, а вызывающий код передает аргумент этому параметру. Параметр можно рассматривать как стоянку и аргумент как автомобиль. Так же, как различные автомобили могут парковаться в парковочной площади в разное время, вызывающий код может передавать другой аргумент в один и тот же параметр каждый раз, когда он вызывает процедуру.

Параметры

Параметр представляет значение, которое процедура ожидает передачи при вызове. Объявление процедуры определяет его параметры.

При определении Function или Sub процедуре необходимо указать список параметров в скобках сразу после имени процедуры. Для каждого параметра укажите имя, тип данных и механизм передачи (ByVal или ByRef). Можно также указать, что параметр является необязательным. Это означает, что вызывающий код не должен передавать для него значение.

Имя каждого параметра служит локальной переменной в процедуре. Имя параметра используется так же, как и любая другая переменная.

Аргументы

Аргумент представляет значение, которое передается параметру процедуры при вызове процедуры. Вызывающий код предоставляет аргументы при вызове процедуры.

При вызове Function или Sub процедуре вы включаете список аргументов в скобки сразу после имени процедуры. Каждый аргумент соответствует параметру в той же позиции в списке.

В отличие от определения параметров аргументы не имеют имен. Каждый аргумент — это выражение, которое может содержать ноль или несколько переменных, констант и литералов. Тип данных вычисляемого выражения обычно должен соответствовать типу данных, определенному для соответствующего параметра, и в любом случае он должен быть преобразован в тип параметра.

См. также