progs.biz  
Начало>VB.NET>Основы>Урок 43
C#
VB.NET
Visual C++.NET
ASP.NET
Visual C++ 6
WinAPI
C/C++
Delphi
C++ Builder
Java
SQL
PHP
DirectX
Visual Basic 6.0
Ассемблер
Интернет
Сист. прогр-ние
Pocket PC
Обзор книг
Обзор программ

Б. Ивьен и др. Visual Basic .NET. Библия пользователя
Б. Ивьен и др. Visual Basic .NET. Библия пользователя
Заказать на Озоне



Яндекс-цитирования

Основы VB.NET
Урок 43. Необязательные параметры функций и процедур

Часто при вызове функций мы имеем параметры, которые указывать необязательно, так как есть некоторое значение по умолчанию. Например, для функции, которая заполняет данные для сотрудников фирмы, таким параметром может оказаться город проживания - понятно, что почти все сотрудники живут в одном городе.

Вот пример такой функции с необязательными параметрами:

Class Worker
    Private name As String
    Private city As String
    'Метод с необязательным параметром.
    Public Sub SetData(ByVal name As String, Optional ByVal city As String = "SPb")
        Me.name = name
        Me.city = city
    End Sub
    Public Sub GetData()
        Console.WriteLine("name: {0}, city: {1}", name, city)
    End Sub
End Class
'Объявляем модуль с методом Main.
Class Test
    'Объявляем статический метод Main.
    Public Shared Sub Main()
        'Объявляем экземпляры класса Worker.
        Dim p1 As New Worker(), p2 As New Worker()
        p1.SetData("Igor", )
        'Напечатается "name: Igor, city: SPb"
        p1.GetData()
        p1.SetData("Roman", "Atlanta")
        'Напечатается "name: Roman, city: Atlanta"
        p1.GetData()
    End Sub
End Class

Наша функция SetData устроена так - перед необязательными параметрами мы пишем ключевое слово Optional и обязательно указываем после знака равно значение по умолчанию:

...
Public Sub SetData(ByVal name As String, Optional ByVal city As String = "SPb")
    ...

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

p1.SetData("Igor", )

и

p1.SetData("Igor")

Также запомните, что если у функции некотрый параметр необязательный, то и все следующие параметры этой же функции должны быть необязательными и, следовательно, писаться с ключевым словом Optional и иметь значение по умолчанию.

Рассылки нашего сайта на Subscribe.Ru
Visual C++, MFC
C# и .NET
VB.NET
ASP.NET new!
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz


 
 
Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2008 сайт progs.biz
© 2002-2008 Игорь Алексеев