Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Именованные аргументы





Как вам должно быть уже известно, при передаче аргументов методу порядок их следования, как правило, должен совпадать с тем порядком, в котором параметры определены в самом методе. Иными словами, значение аргумента присваивается параметру по его позиции в списке аргументов. Данное ограничение призваны преодолеть именованные аргументы. Именованный аргумент позволяет указать имя того параметра, которому присваивается его значение. И в этом случае порядок следования аргументов уже не имеет никакого значения.

Для указания аргумента по имени служит следующая форма синтаксиса

имя_параметра: значение

Здесь имя_параметра обозначает имя того параметра, которому передается зн ачение.

В этом примере создается метод IsFactor(), возвращающий логическое

значение true, если первый его параметр нацело делится на второй параметр.

//применить именованные аргументы.

using System;

class namedArgsDemo

{

//выяснить, делится ли однао значение нацело на другое.

static bool IsFactor(int val, int divisor)

{

if ((val % divisor) == 0) return true;

return false;

}

 

static void Main()

{

//ниже демонстрируются разные способы вызова метода IsFactor().

//вызов с исполнением позиционных аргументов.

if (IsFactor(10, 2)) Console.WriteLine("2 - множитель 10.");

//вызов с использованием именованных аргументов.

if (IsFactor(val: 10, divisor: 2)) Console.WriteLine("2 - множетиль 10.");

//для именованного аргумента порядок указания не имеет значения.

if (IsFactor(divisor: 2, val: 10)) Console.WriteLine("2 - множитель 10.");

//применить как позиционный, так и именованный аргумент.

if (IsFactor(10, divisor: 2)) Console.WriteLine("2 - множитель 10.");

}

}

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

Именованные аргументы можно также применять вместе с необязательными аргументами. Покажем это на примере вызова метода Display(), рассматривавшегося в предыдущем разделе.

// Указать все аргументы по имени.

Display(stop: 10, str: "это простой тест", start: 0);

// Сделать аргумент start устанавливаемым по умолчанию.

Display(stop: 10, str: "это простой тест");

// Указать строку по позиции, аргумент stop — по имени by name,

// тогда как аргумент start — устанавливаемым по умолчанию

Display("это простой тест", stop: 10);

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

 

Метод Main()

//повторить (командную строку)

Возврат значений из метода Main()

По завершении программы имеется возможность возвратить конкретное значение из метода Main() вызывающему процессу (зачастую операционной системе). Для этой цели служит следующая форма метода Main().

static int Main()

Как правило, значение, возвращаемое методом Main(), указывает на нормальное завершение программы или на аварийное ее завершение из-за сложившихся ненормальных условий выполнения. Условно нулевое возвращаемое значение обычно указывает на нормальное завершение программы, а все остальные значения обозначают тип возникшей ошибки.

Передача аргументов методу Main()

Многие программы принимают так называемые аргументы командной строки, т.е. информацию, которая указывается в командной строке непосредственно после имени программы при ее запуске на выполнение. В программах на C# такие аргументы передаются затем методу Main(). Для получения аргументов служит одна из приведенных ниже форм метода Main().

static void Main(string[] args)

static int Main(string[] args)

В первой форме метод Main() возвращает значение типа void, а во второй — целое значение, как пояснялось выше. Но в обеих формах аргументы командной строки сохраняются в виде символьных строк в массиве типа string, который передается методу Main(). Длина этого массива (args) должна быть равна числу аргументов командной строки, которое может быть и нулевым.

//вывести все аргументы командной строки.

using System;

class CLDemo

{

static void Main(string[] args)

{

Console.WriteLine("Командная строка содержит " + args.Length + " аргумента.");

Console.WriteLine("Вот они: ");

for (int i = 0; i < args.Length; i++) Console.WriteLine(args[i]);

}

}

Если программа CLDemo запускается из командной строки следующим образом:







Date: 2015-09-02; view: 423; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию