Скачиваний:
73
Добавлен:
24.03.2015
Размер:
133.63 Кб
Скачать

1.3. Пространство имен

В нашей программе использованы обращения к двум статическим методам класса Console. В общем виде формат обращения к статическим членам класса:

Название_пространства_имен.имя_класса.имя_члена

Эта конструкция в языке С# называется уточненным, квалифицированным или составным именем. Первым элементом квалифицированного имени является наименование пространства имен. Поясним это понятие. Вначале приведём опубликованные в литературе определения.

"Пространство имен - механизм, посредством которого поддерживается независимость используемых в каждой программе имен и исключается возможность их случайного взаимного влияния". [6]

"Пространство имен определяет декларативную область, которая позволяет отдельно хранить множества имен. По существу, имена, объявленные в одном пространстве имен, не будут конфликтовать с такими же именами, объявленными в другом." [4]

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

Понятие пространства имен появилось в программировании в связи с необходимостью различать одноименные понятия из разных библиотек, используемых в одной программе. Пространство имен System объединяет те классы из .NET Framework, которые наиболее часто используются в консольных программах на С#.

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

using имя_пространства_имен;

После такой директивы для обращения к статическому члену класса из данного пространства имен можно использовать сокращенное квалифицированное имя

имя_класса.имя_члена

В нашей программе используются: пространство имен System, из этого пространства - класс Console и два статических метода этого класса WriteLine() и ReadLine().

Поместив в программу директиву

using System;

можно обращаться к названным методам с помощью сокращенных составных имен Console.WriteLine() и Console.ReadLine().

Именно так мы будем поступать в следующих примерах программ.

1.4. Создание консольного приложения

В отличие от языков предшествующих поколений, язык С# невозможно применять, изучив только синтаксис и семантику языковых конструкций. На приведённом примере программы мы уже убедились, что даже такие элементарные действия как ввод—вывод тестовой информации требуют применения механизмов, не входящих в язык программирования. Эти механизмы предоставляются программисту в виде средств платформы .NET. Платформа .NET поддерживает не только язык С#, но и десятки других языков, предоставляя им огромную библиотеку классов, упрощающих разработку программ разного назначения. Не пытаясь описать все достоинства и особенности .NET отметим только следующее. .NET позволяет в одном программном комплексе объединять программы, написанные на разных языках программирования. .NET в настоящее время реализована для разных операционных систем. Для .NET разработаны мощные и наиболее современные системы (среды) программирования. Назовём две из них.

Фирма Microsoft (разработчик продукта .NET Framework) предлагает программистам среду программирования Visual Studio. Корпорация Borland выпускает систему программирования Borland Developer Studio (BDS). Кроме коммерческих продуктов с указанным наименованием обе фирмы выпускаютследующие свободно распространяемые (бесплатные) системы программирования, возможностей которых вполне достаточно для изучения программирования на языке С#:

Visual C# 2008 Express Edition ('http://msdn.microsoft.com/vstudio/express/');

Turbo C# Explorer (http://www.borland.com/downloads/download turbo.htmn.

(За время издания книги ссылки могут измениться).

Предполагая, что читатель имеет возможность работать с одной из сред программирования, поддерживающей язык С#, перейдём к описанию технологии создания простых программ. Будем использовать Visual Studio 2008.

Программируя на С# в .NET Framework, можно разрабатывать программы трёх видов:

  • консольные приложения;

  • Windows-приложения;

  • библиотеки классов.

Программу, которую мы привели в предыдущем параграфе, проще всего реализовать как консольное приложение.

Независимо от того, какого вида программа разрабатывается, в Visual Studio необходимо создать решение (Solution) и в этом решении проект (Project). Создание пустого (без проектов) решения не имеет смысла, поэтому решение будет автоматически создано при создании нового проекта. Прежде чем описать последовательность действий, необходимых для создания и выполнения простой программы, остановимся на соотношении понятий проект и решение. В одно решение могут одновременно входить проекты программ разных видов. Текст (код) программы может быть обработан средой Visual Studio, когда он помещен в проект, а проект - включен в решение. Зачастую в одно решение помещают взаимосвязанные проекты, например, использующие одни и те же библиотеки классов (также помещенные в виде проектов в это решение).

Как только среда разработки (в нашем случае Visual Studio 2008) запущена, выполните следующие шаги.

1. Создание нового проекта.

File -> New -> Project

В окне New Project на левой панели (Project Types) выберите язык (Visual С#) и платформу (Windows). На правой панели (Templates) выберите вид приложения Console Application.

В поле Name вместо предлагаемого по умолчанию имени ConsoleApplication1 напечатайте выбранное вами имя проекта, например Program_1. В поле Location введите полное имя папки, в которой будет сохранено решения, например, C:\Программы. По умолчанию решению приписывается имя его первого проекта (в нашем примере Program_1). Кнопкой ОК запускаем процесс создания проекта (и решения).

Среда Visual Studio 2008 создает решение, проект приложения и открывает окно редактора с таким текстом заготовки для кода программы:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace Program_1

{

class Program

{

static void Main(string[] args)

{

}

}

}

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

Debug -> Start Without Debuggind (или сочетание клавиш Ctrl+F5) Откроется консольное окно с единственной фразой: «Для продолжения нажмите любую клавишу...»

Это сообщение среды разработки, завершающее исполнение консольного приложения.

3. Дополним созданную средой разработки заготовку кода консольного приложения операторами из нашей первой программы:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace Program_1

{

class Program

{

static void Main(string[] args)

{

string name;

System.Console.WriteLine("Введите Ваше имя: ");

name = System.Console.ReadLine();

System.Console.WriteLine("Приветствую Вас, " + name + "!");

}

}

}

Теперь по нажатию клавиш Ctrl+F5 программа откомпилируется, начнет выполнение, выведет приглашение: «Введите Ваше имя: » и в ответ на введенное имя - «поздоровается».

В отличие от первой программы 01_01.cs в тексте заготовки, созданной средой Visual Studio 2008, присутствуют лишние для нашей программы операторы. Во-первых, вместо четырех операторов using, можно обойтись одним using System;.

Во-вторых, нет необходимости в явном указании параметра в заголовке метода:

static void Main(string[] args)

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

Третья особенность заготовки - наличие объявления пространства имен: namespace Program_1...

Это объявление вводит для программы собственное пространство имен с обозначением Program_1. Программа 01_01.cs не содержит такого объявления и поэтому использует стандартное пространство имен. Это вполне допустимо для тех программ, которые мы будем приводить в книге.

8

Соседние файлы в папке Lekc_C#