Параметры метода Main()


Выполнение программы сводится к вызову методов в определенной последовательности. Методу могут передаваться аргументы, а из метода – возвращаться значение.

 

 


С другой стороны сама программа может быть запущена из другой программы и может запускать другую программу.

В рамках данного вопроса рассмотрим вариант, когда программа запускается из среды исполнения. Поскольку метод Main() выполняется первым при запуске программы, то именно через этот метод производится прием аргументов.

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

 

 


C:\PR\PR\BIN\DEBUG\pr.exe_аргумент1_ аргумент2_... _аргументN

 

Состав параметров метода Main фиксирован: Main (string[] args)

Метод принимает параметры из команды в виде массива строк. Каждая строка хранит символьное представление одного аргумента.

Пример

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

· Plus – увеличение

· Minus – уменьшение

Исполняемый файл хранится в файле pr.exe.

Соглашение об аргументах в команде

1. Сумма

2. Вид операции

· Плюс (в любом регистре) или +

· Минус (в любом регистре) или

3. Фамилия оператора (ключ)

Пример команды

C:\PR\PR\BIN\DEBUG\pr.exe_50_Плюс_Иванов

 

Массив args в Main()

 

 

public static void Plus(double[] p, double s)

// массив цен, сумма, на которую увеличиваем

{

for (int i = 0; i < p.Length; i++)

p[i] += s;

}

public static void Minus(double[] p, double s)

{

for (int i = 0; i < p.Length; i++)

p[i] -= s;

}

public static Main(string[] args)

{

double[] pr; //массив с ценами

double delta; //сумма

string key = "Иванов"; //ключ

pr = new double[] { 100.0, 200.0, 300.0 };

 

//проверяем сколько аргументов нам передали

if (args.Length != 3) return;

//завершение программы - ошибка1

 

//проверка фамилии

if (args[2] != key) return;

//завершение программы - ошибка2

 

//пересчет цен

delta = double.Parse(args[0]);

 

//чтение операции

switch (args[1].ToUpper())

{

case "ПЛЮС":

case "+": Plus(pr, delta); break;

case "МИНУС":

case "-": Minus(pr, delta); break;

}

 

//вывод новых цен

 

return;

}

 



Дата добавления: 2019-02-08; просмотров: 522;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.009 сек.