Поделиться через


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

Обновлен: Ноябрь 2007

Можно объявить последнюю запись в списке параметров процедуры массивом параметров. Это позволяет принять неограниченное число значений для параметра.

Дополнительные сведения см. в разделе Массивы параметров.

Вызов процедуры с массивом параметров и пропуском соответствующего аргумента

  1. Создайте вызов процедуры обычным образом. Массив параметров должен быть последним аргументом.

  2. Завершите список аргументов предпоследним аргументом. Массив параметров не является обязательным, а все предшествующие ему параметры должны быть обязательными.

    либо

    Укажите ключевое слово Nothing в качестве аргумента для массива параметров.

  3. Visual Basic передает пустой одномерный массив в процедуру в качестве массива параметров.

Вызов процедуры с массивом параметров и указанием списка аргументов

  1. Создайте вызов процедуры обычным образом. Массив параметров должен быть последним аргументом.

  2. Укажите для массива параметров любое количество аргументов, разделенных запятыми. Тип данных каждого из аргументов должен неявным образом преобразовываться в тип элемента ParamArray.

  3. Visual Basic передает в процедуру одномерный массив, содержащий все указанные значения.

Вызов процедуры с массивом параметров и указанием массива аргументов

  1. Создайте вызов процедуры обычным образом. Массив параметров должен быть последним аргументом.

  2. Для массива параметров укажите одномерный массив с тем же типом элемента, что и у массива параметров.

  3. Visual Basic передает массив в процедуру.

Пример

В приведенных ниже примерах показаны типичные вызовы процедуры studentScores , определенной в Практическое руководство. Определение процедуры с неопределенным числом параметров.

Call studentScores("George")


...


Call studentScores("Anne", "10", "26", "32", "15", "22", "24", "16")
Call studentScores("Mary", "High", "Low", "Average", "High")
Dim JohnScores() As String = {"35", "Absent", "21", "30"}
Call studentScores("John", JohnScores)

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

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

В четвертом вызове массив передается в массив параметров.

См. также

Основные понятия

Параметры и аргументы процедуры

Передача аргументов по значению или по ссылке

Передача аргумента по позиции и по имени

Необязательные параметры

Перегрузка процедур

Проверка типов в Visual Basic

Ссылки

Optional (Visual Basic)

ParamArray

ByVal

Функция UBound (Visual Basic)