Cамоучитель по VB.NET

       

Процедуры



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

Option Strict On

Module Modulel

Sub ShowBottlesOfBeer(ByVal nbot As Integer)

Console.WriteLine(nbot & " bottles of beer on the wall")

Console.Writeline(nbot & " bottles of beer.")

Console.WriteLine("if one of those bottles hsould happen to fall")

Console.WriteLine(nbot -1&" bottles of beer on the wall")

End Sub

Sub Main()

Dim I As Integer

For I = 10 To 1 Step -1

ShowBottlesOfBeer(I)

Next

Console.WriteLine("All beer gone...")

Console. ReadLine()

End Sub

End Module

При вызове процедур указывать ключевое слово Sub не обязательно. Строку с вызовом процедуры из приведенного выше примера можно было записать и в таком виде:

Call ShowBottlesOfBeer(I)

Заголовок процедуры должен содержать объявления всех параметров с ключевыми словами ByVal или ByRef (по умолчанию используется ByVal, то есть передача по значению):

Sub имя_процедуры(В(ByVа1 аргумент1 As тип. ByVal аргумент2 As тип, ....)

команды

End Sub

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



Содержание раздела