Читать «ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание» онлайн - страница 60

Эндрю Троелсен

public static int Main(string[] args) {

 ...

 // Получение аргументов с помощью System.Environment.

 string[] theArgs = Environment.GetCommandLineArgs();

 Console.WriteLine("Путь к приложению: {0}", theArgs[0]);

 …

}

Использование аргументов командной строки в Visual Studio 2005

Конечный пользователь указывает аргументы командной строки при запуске программы. В процессе разработки приложения вы можете указать флаги командной строки с целью тестирования программы. Чтобы сделать это в Visual Studio 2005, выполните двойной щелчок на пиктограмме Properties (Свойства) в окне Solution Explorer (Обзор решений) и выберите вкладку Debug (Отладка). После этого укажите нужные значения аргументов в поле текста Command line arguments (Аргументы командной строки), рис. 3.2.

Рис. 3.2. Установка аргументов командной строки в Visual Studio 2005

Несколько слов о классе System.Environment

Давайте рассмотрим класс System.Environment подробнее. Этот класс содержит ряд статических членов, позволяющих получить информацию относительно операционной системы, в которой выполняется .NET-приложение. Чтобы иллюстрировать возможности этого класса, измените метод Mаin() в соответствии со следующей логикой.

public static int Main(string[] args) {

 ...

 // Информация об операционной системе.

 Console.WriteLine("Используемая ОС: {0} ", Environment.OSVersion);

 // Каталог, в котором находится приложение.

 Console.WriteLine("Текущий каталог: {0}: ", Environment.CurrentDirectory);

 // Список дисководов на данной машине.

 string[] drives = Environment.GetLogicalDrives();

 for (int i = 0; i ‹ drives.Length; i++)

  Console.WriteLine("Диск {0}: {1} ", i, drives[i]);

 // Версия .NET-платформы, выполняемая на машине.

 Console.WriteLine("Выполняемая версия .NET: {0} ", Environment.Version);

 …

}

Возможный вариант вывода показан на рис. 3.3.

Рис. 3.3. Переменные окружения за работой

Тип System.Envirоnmеnt содержит определения и других членов, а не только представленных в данном примере. В табл. 3.1 показаны некоторые интересные свойства, но непременно загляните в документацию .NET Framework 2.0 SDK, чтобы узнать подробности.

Таблица 3.1. Некоторые свойства System.Environment

Свойстве Описание
MashineName Имя текущей машины
NewLine Символ перехода на новую строку для текущего окружения
ProcessorCount Число процессоров текущей машины
SystemDirectory Полный путь к системному каталогу
UserName Имя модуля, запустившего данное приложение

Определение классов и создание объектов

Теперь, когда вы знаете о роли Main(), перейдем в задаче построения объектов. Во всех объектно-ориентированных языках делается четкое различие между классами и объектами. Термин класс используется для определения пользовательского типа (User-Defined Type – UDT), или, если хотите, шаблона. А термин объект применяется для обозначения экземпляра конкретного класса в памяти. Ключевое слово new в C# обеспечивает способ создания объектов. В отличие от других объектно-ориентированных языков (таких как, например, C++), в C# невозможно разместить тип класса в стеке, поэтому если вы попытаетесь использовать переменную класса, которая не была создана с помощью new, вы получите ошибку компиляции. Таким образом, следующий программный код C# оказывается недопустимым.