Иллюстрированный самоучитель по Visual Basic .NET

Функции

Чтобы создать новую функцию или процедуру в окне программы, установите курсор за пределами других процедур и функций и начинайте вводить заголовок процедуры или функции. Как только вы нажмете клавишу Enter, редактор IDE автоматически создаст команду End правильного типа (End Function или End Sub). Ниже приведен заголовок функции, которая получает целый параметр по значению и возвращает логическую величину (True или False) в зависимости от того, принадлежит ли переданный параметр интервалу от 1 до 10:

Function IsBetween1And10(ByVal num As Integer) As Boolean

Примечание
В режиме жесткой проверки типов (Option Strict) при объявлении функции необходимо указывать тип возвращаемого значения (в нашем примере – Boolean)
.

Полный текст модуля с функций IsBetween1And10 приведен ниже. Порядок следования функций не важен – функция Sub Main может находиться и после определения функции, которая в ней используется.

Module Modulel
Function IsBetween1And10 (ByVal num As Integer) As Boolean
If num >= 1 And num <=10 Then
Return True
Else
Return False
End If
End Function
Sub Main()
Console. WriteLinedsBetweenlAnd100))
Console. ReadLine()
End Sub
End Module

В VB.NET при вызове функции или процедуры непустой список параметров всегда заключается в круглые скобки, как в строке с вызовом Console.WriteLine: IsBetween1And10().

Обратите внимание на ключевое слово Return. При выполнении команды Return функция завершается и возвращает значение, указанное после Return (значение должно быть определенным – возвращение аналога void не допускается). Также поддерживается синтаксис с присваиванием имени функции, использовавшийся в прежних версиях VB:

Function IsBetweenlAnd10(ByVal num As Integer) As Boolean
If num >= 1 And num <= 10 Then
IsBetweenlAnd10 = True Else
IsBetweenlAnd10= False
End If
End Function

Использование Return – дело вкуса. Команда Return нагляднее и проще, но старый синтаксис оставляет управление внутри функции, а это иногда бывает удобно.

Обобщенная форма определения функции выглядит следующим образом:

Function имя_функции (аргумент1, аргумент2,…) As тип команды
Return выражение ' или имя_функции = выражение
End Function

Где аргумент1 и аргумент2 – переменные. Имена функций подчиняются тем же правилам, что и имена переменных. При вызове функции VB.NET выполняет команды, содержащиеся в определении функции. Значение, указанное после Return (или последнее значение, присвоенное имени функции), определяет результат вызова.

Примечание
Хотя возвращаемое значение обычно используется в программе, VB также позволяет вызвать функцию простой командой вида foo(3) без присваивания
.

Обычно количество аргументов, передаваемых при вызове функции, должно совпадать с количеством параметров в ее определении. Типы аргументов должны быть совместимы с типами соответствующих параметров, при этом автоматически выполняются только расширяющие преобразования. Например, следующий фрагмент допустим, поскольку преобразование Short в Integer не приводит к потере данных:

Dim bar As Short = 3
Console.WriteLinedsBetweenlAnd10(bar))

VB.NET позволяет создавать функции с переменным числом аргументов. Дополнительная информация приведена далее в этой главе.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.