Запуск программы
с параметрами в командной строке
Пример 1 - запуск программы с параметром ivanoff в командной строке.
В этом примере параметр используется в качестве пароля для входа в программу.
Текст программы - примера 1:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace list2_3
{
class Program
{
static void Main(string[] args)
{
if (args[0] == "ivanoff")
Console.WriteLine("Пароль правильный");
else
Console.WriteLine("Пароль НЕправильный");
Console.WriteLine("Для выхода - нажми Enter");
Console.ReadLine();
}
}
}
Для лучшего понимания этого примера ознакомьтесь с
предыдущим примером.
Обсуждение примера 1
- string[] args - означает, что программе при её запуске можно передать несколько параметров, тип которых - string, т е строка (текст). Параметры отделяются друг от друга пробелом. Внутри процедуры Main параметры представлены массивом args, следовательно, первый параметр обозначается args[0], второй - args[1] и т д
- Первый оператор процедуры Main означает: если args[0] равно "ivanoff" то вывести на экран:
"Пароль правильный" иначе вывести на экран: "Пароль НЕправильный". Это так называемый условный оператор. Подробнее о нём см в учебниках.
- Второй оператор выводит на экран: "Для выхода - нажми Enter"
- Третий оператор приостанавливает программу до нажатия клавиши Enter
Особенность запуска этой программы: её нужно запустить в режиме командной строки. Это можно сделать так: нажать кнопку Пуск (слева внизу экрана), далее выбрать "Выполнить". В окошке "Открыть" вписать имя exe-файла программы, включая путь к нему и параметры (для этого примера на моём компе: D:\XRAN_MY_PROGS\0_vis_stud\my0_1passw\bin\Debug\list2_3 ivanoff). Затем кликнуть кнопку ОК. Результат см на картинке ниже.
(В начале страницы показан запуск этой программы в сеансе DOS Total Commander, это удобнее)
Пример 2
Для забавы можно сделать программу, которая вычисляет сумму чисел, которые вводятся как параметры при запуске программы в режиме командной строки. Результаты работы программы (запущено в Total Commander) выглядят так:
Текст программы - примера 2:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace list2_3
{
class Program
{
static void Main(string[] args)
{
double sum = 0;
foreach (string s in args)
sum += double.Parse(s);
Console.WriteLine("Сумма = {0}",sum);
Console.WriteLine("Для выхода - нажми Enter");
Console.ReadLine();
}
}
}
Обсуждение примера 2
- string[] args - означает, что программе при её запуске можно передать несколько параметров, тип которых - string, т е строка (текст). Параметры отделяются друг от друга пробелом. Внутри процедуры Main параметры представлены массивом args, следовательно, первый параметр обозначается args[0], второй - args[1] и т д
- - double sum = 0;
объявлена переменная sum, которая хранит вещественные числа
- - foreach (string s in args) sum += double.Parse(s);
полезно изучить оператор foreach по учебнику. Для каждого параметра, записанного в командной строке, выполняется оператор (действие):
sum += double.Parse(s) То есть каждый параметр (а он имеет тип строка, т е воспринимается как строка (текст)) преобразуется методом Parse класса double в соответствующее вещественное число. Затем это вещественное число добавляется к переменной sum (почитайте об операторе += , который это делает). В результате в переменной sum накапливается сумма параметров.
- Последние три оператора пояснялись в предыдущих примерах