Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Пользовательские функции для массивов рабочего листа Excel.




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

Объявление ParamArray

Ключевое слово ParamArray используется для обозначения массива параметров в списке параметров. Действуют следующие правила.

· Процедура может определять только один массив параметров, и он должен быть последним параметром в определении процедуры.

· Массив параметров должен передаваться по значению. Рекомендуется включать явным образом ключевое слово ByVal в определение процедуры.

· Массив параметров всегда является необязательным. По умолчанию его значением является пустой одномерный массив с заданным для массива параметров типом элемента массива.

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

Вызов ParamArray

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

· Ничего, т.е. опустить аргумент ParamArray. В этом случае процедуре передается пустой массив. Такой же результат дает использование ключевого слова Nothing (Visual Basic).

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

· Массив с элементами того же типа, что и в массиве параметров.

Во всех случаях код в процедуре должен обрабатывать массив параметров как одномерный массив, каждый элемент которого имеет тот же тип данных, что и ParamArray.

Следующий пример определяет процедуру с массивом параметров и выводит значения всех элементов массива, переданных массиву параметров.

Sub studentScores(ByVal name As String, ByVal ParamArray scores() As String)

Debug.WriteLine("Scores for " & name & ":" & vbCrLf)

' Use UBound to determine largest subscript of the array.

For i As Integer = 0 To UBound(scores, 1)

Debug.WriteLine("Score " & i & ": " & scores(i))

Next i

End Sub

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

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)

 







Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных