Шаг 61.
Язык программирования C#. Начала
Массивы. Параметры командной строки

    На этом шаге мы рассмотрим передачу параметров в приложение.

    При запуске программы на выполнение ей могут передаваться параметры, которые обычно называют параметрами командной строки. Если программа запускается из командной строки, то параметры указываются после имени файла программы через пробел. При работе со средой разработки параметры командной строки задаются на вкладке свойств проекта. Окно свойств проекта можно открывать по-разному. Например, в меню Project (Проект) можно выбрать команду Properties (Свойства), как показано на рисунке 1.


Рис.1. Переход к окну свойств проекта (команда Properties (Свойства) в меню Project (Проект)) для определения параметров командной строки

    В результате откроется вкладка свойств проекта. В этой вкладке следует выбрать раздел Debug (Отладка), как показано на рисунке 2.


Рис.2. Параметры командной строки определяются на вкладке свойств проекта в поле Command line arguments (Аргументы командной строки) в разделе Debug (Отладка)

    В данном разделе есть поле Command line arguments (Аргументы командной строки). Туда через пробел вводятся параметры командной строки. В данном примере мы вводим туда такие параметры:

  первый 123 А 3,141592 последний 

    Это параметры, которые мы собираемся передавать программе при запуске. Но остается открытым вопрос о том, как эти параметры в программе можно использовать. Ответ простой: главный метод программы необходимо описать с аргументом, который является одномерным текстовым массивом. Параметры, которые передаются программе при запуске, отождествляются с элементами этого массива. Два важных момента:

    Пример, в котором программе при запуске передаются параметры командной строки и эти параметры в программе обрабатываются, приведен ниже.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace pr61_1
{
    class Program
    {
        //Главный метод с аргументом - массивом:
        static void Main(string[] args)
        {
            // Определение количества переданных параметров:
            Console.WriteLine("Передано {0} параметров", args.Length); 
            // Отображение значений параметров: 
            for(int k=0; k < args.Length; k++) {
                // Отображение значения параметра:
                Console.WriteLine("{0}-й параметр: {1}",(k + 1), args[k]);
            }
            Console.WriteLine("Выполнение программы завершено");
            // Задержка:
            Console.ReadLine();
        }
    }
}
Архив проекта можно взять здесь.

    Если программе передаются те параметры, что были указаны ранее, то в результате выполнения программы в консольном окне появляются такие сообщения (рисунок 3).


Рис.3. Результат выполнения приложения

    Первая особенность программы состоит в том, что метод Main() описан с аргументом string[] args. Поскольку массив формируется автоматически на основе переданных программе параметров, то количество элементов в массиве совпадает с количеством параметров. Следовательно, количество переданных параметров можно определить с помощью инструкции args.Length (размер массива args). Получение текстового представления параметров - обращение к элементам массива args в формате args[k]. Сама программа очень простая: она выводит сообщение о количестве переданных программе параметров, а затем последовательно в консольном окне отображаются значения этих параметров.

    На следующем шаге мы резюмируем все ранее сказанное по данной теме на предыдущих шагах.




Предыдущий шаг Содержание Следующий шаг