Читаем C# 4.0 полное руководство - 2011 полностью

OptArgMeth(1);

При первом вызове параметруalphaпередается значение 1, параметруbeta —значение 2, а параметруgamma— значение 3. Таким образом, все три аргумента задаются явным образом, а значения, устанавливаемые по умолчанию, не используются. При втором вызове параметруalphaпередается значение 1, а параметруbeta— значение 2, но параметруgammaприсваивается устанавливаемое по умолчанию значение 20. И наконец, при третьем вызове упомянутого выше метода параметруalphaпередается значение 1, а параметрамbetaиgammaприсваиваются устанавливаемые по умолчанию значения. Следует, однако, иметь в виду, что параметрbetaне получит устанавливаемое по умолчанию значение, если то же самое не произойдет с параметромgamma.Если первый аргумент устанавливается по умолчанию, то и все остальные аргументы должны быть установлены по умолчанию.

Весь описанный выше процесс демонстрируется в приведенном ниже примере программы.

// Продемонстрировать необязательные аргументы.

using System;

class OptionArgDemo {

static void OptArgMeth(int alpha, int beta=10, int gamma = 20)    {

Console.WriteLine ("Это аргументы alpha, beta и gamma: " + alpha + " " + beta + " " + gamma);

}

static void Main {

// Передать все аргументы явным образом.

OptArgMeth(1, 2, 3);    i

IIСделать аргумент gamma необязательным.

OptArgMeth(1, 2);

// Сделать оба аргумента beta и gamma необязательными.

OptArgMeth(1);

}

}

Результат выполнения данной программы лишь подтверждает применение используемых по умолчанию аргументов.

Это аргументы    alpha,    beta    и    gamma:    12 3

Это аргументы    alpha,    beta    и    gamma:    1 2 20

Это аргументы    alpha,    beta    и    gamma:    1 10 20

Как следует    из приведенного выше результата, если аргумент не указан, то исполь

зуется его значение, устанавливаемое по умолчанию.

Следует иметь в виду, что все необязательные аргументы должны непременно указыватьсясправаот обязательных. Например, следующее объявление оказывается недействительным.

int Sample(string name = "пользователь", int userid) { // Ошибка!

Для исправления ошибки в этом объявлении необходимо указать аргументuseridдо аргументаname.Раз уж вы начали объявлять необязательные аргументы, то указывать после них обязательные аргументы нельзя. Например, следующее объявление также оказывается неверным.

int Sample(int accountld, string name =• "пользователь", int userid) { //.Ошибка!

Аргументnameобъявляется как необязательный, и поэтому аргументuseridследует указать до аргументаname(или же сделать его также необязательным).

Перейти на страницу:

Похожие книги

Access 2002: Самоучитель
Access 2002: Самоучитель

В книге рассматривается широкий круг вопросов, связанных с использованием программной среды Access 2002, которая является составной частью пакета Office 2002 и предназначена для создания банка данных в самых различных предметных областях.Подробно описывается методика проектирования объектов базы данных (таблицы, формы, отчеты, страницы доступа к данным, запросы, модули).Детально обсуждаются вопросы создания интегрированной базы данных в единой среде Access 2002: формирование БД с нуля, конвертирование в программную среду баз данных, созданных в ином программном окружении – Clarion, FoxPro.Особое внимание уделяется формированию разнообразных запросов к интегрированной базе данных Access 2002 с использованием языков программирования SQL, VBA и макросов.Приводятся общие сведения о возможностях языка обмена данными между различными компьютерами и приложениями (XML). Описываются возможности использования гиперссылок, связывающих базу данных с другими программными продуктами. Объясняется, как можно работать с базой данных Access 2002 без установки ее на компьютер, используя технологию ODBC (Open Data Base Connectivity). В приложениях приводятся количественные параметры Access 2002 и связанная с этой СУБД терминология.Предлагаемая книга будет полезна специалистам, занимающимся практической разработкой банков данных и приложений на их основе, а также студентам вузов, изучающим информатику.

Павел Юрьевич Дубнов

Программирование, программы, базы данных / ОС и Сети / Книги по IT