Основы VB.NET Урок 24. Функции и процедуры в VB.NET
Функции и процедуры в VB.NET (как, впрочем, и в предыдущих версиях VB) можно рассматривать как фрагменты кода с некоторым именем. По этому имени эти фрагменты кода можно вызывать сколько угодно раз. При этом вы получаете массу плюсов - от облегчения модернизации кода до увеличения его компактности и читаемости.
Разница между ними такая - функция возвращает некоторое значение, процедура же никакого значения после себя на оставляет. Все как во многих других языках.
Вот пример использования процедуры:
Module Test
'Начало процедуры
Sub Max(ByVal a As Integer, ByVal b As Integer)
If a > b Then
Console.WriteLine("a>b")
Else
Console.WriteLine("a<=b")
End If
End Sub
'Конец процедуры
Sub main()
Dim w, r As Integer
w = 23 : r = -211
Max(w, r)
End Sub
End Module
Тут мы объявили процедуру с именем Max. Она принимает два параметра и выводит на экран максимальный из них. В функции main мы вызываем процедуру Max по имени.
При объявлении процедуры мы используем ключевое слово Sub.
Теперь поговорим о функциях. Они, в отличие от процедур, возвращают некоторое значение. Вот пример:
'Начало функции
Function Max(ByVal a As Integer, ByVal b As Integer) As Integer
Dim res As Integer
If a > b Then
res = a
Else
res = b
End If
Return res
End Function
'Конец функции
Sub main()
Dim w, r, q As Integer
w = 23 : r = -211
q = Max(w, r)
Console.WriteLine(q)
End Sub
Здесь мы объявляем функцию Max с помощью ключевого слова Function. Как вы видите, в конце объявления функции мы пишем тип возвращаемого значения (...As Integer):
Function Max(...) As Integer
В теле функции мы возвращаем ее значение посредством оператора return:
...
Return res
...
Операторов return в теле функции может быть несколько. При выполнении оператора return мы выходим их тела функции (и операторы, следующие за return, не выполняются).
Кроме способа вызова по имени, процедуры и функции можно вызывать с ключевым словом Call:
...
Call Max(w, r)
...
Передавать параметры в процедуры и функции можно двумя способами - через перечисление и через имя. Через перечисление - это все предыдущие примеры. В этом случае мы передаем параметры в таком же порядке, как они объявлены в функции (процедуре). При использовании второго способа мы параметры функции или метода можем передавать в любом порядке, но при этом мы должны указывать имя параметра:
...
Max(a:=r, b:=w)
...
С функциями и процедурами все.
|