Начало работы. Visual Studio

Итак, создадим первое приложение на языке C#. Что для этого потребуется? Во-первых, нам нужен текстовый редактор, в котором мы могли бы напечатать код программы. Во-вторых, нам нужен компилятор, который бы скомпилировал набранный в текстовом редакторе код в приложение exe. В-третьих, нам нужен фреймворк .NET, который требуется для компиляции и выполнения программы.

Чтобы облегчить написание, а также тестирование и отладку программного кода обычно используют специальные среды разработки, в частности, Visual Studio.

Для создания приложений на C# будем использовать бесплатную и полнофункциональную среду разработки - Visual Studio Community 2015, которую можно загрузить по следующему адресу:Microsoft Visual Studio 2015. Также можно использовать Visual Studio 2013.

При инсталляции Visual Studio на ваш компьютер будут установлены все необходимые инструменты для разработки программ, в том числе фреймворк .NET 4.6.

После завершения установки создадим первую программу. Она будет простенькой. Вначале откроем Visual Studio и вверху в строке меню выберем пунктFile (Файл) -> New (Создать) -> Project (Проект). Перед нами откроется диалоговое окно создания нового проекта:

Здесь в центре мы выберем пунктConsole Application, так как наше первое приложение будет консольным. Внизу в поле Name дадим проекту какое-либо название. В моем случае этоFirstApp. И нажмем ОК.

После этого Visual Studio создаст и откроет нам проект:

В большом поле в центре, которое по сути представляет текстовый редактор, находится сгенерированный по умолчанию код C#. Впоследствии мы изменим его на свой.

Справа находится окно Solution Explorer, в котором можно увидеть структуру нашего проекта. В данном случае у нас сгенерированная по умолчанию структура: узел Properties или Свойств (он хранит файлы свойств приложения и пока нам не нужен); узел References - это узел содержит сборки dll, которые добавлены в проект по умолчанию. Эти сборки как раз содержат классы библиотеки .NET, которые будет использовать C#. Однако не всегда все сборки нужны. Ненужные потом можно удалить, в то же время если понадобится добавить какую-нибудь нужную библиотеку, то именно в этот узел она будет добавляться.

Далее идет файл конфигурацииApp.config(пока он нас не интересует) и непосредственно сам файл кода программыProgram.cs. Как раз этот файл и открыт в центральном окне. Вначале разберем, что весь этот код представляет:

/*начало секции подключаемых пространств имен*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
/*конец секции подключаемых пространств имен*/

namespace FirstApp /*объявление нового пространства имен*/
{
    class Program  /*объявление нового класса*/
    {
        static void Main(string[] args) /*объявление нового метода*/
        {

        }/* конец объявления нового метода*/

    } /* конец объявления нового класса*/

} /* конец объявления нового пространства имен*/

В начале файла идут директивыusingпосле которых идут названия подключаемых пространств имен.Пространства именпредставляют собой организацию классов в общие блоки. Например, на первой строкеusing System;подключается пространство имен System, которое содержит фундаментальные и базовые классы платформы .NET. Физически пространства имен находятся в подключаемых библиотеках dll, которые можно увидеть в окне Solution Explorer, открыв узел References:

Так, вы можете увидеть там библиотеку System.dll, которая содержит классы из пространства имен System. Однако точного соответствия между пространствами имен и названиями файлов dllнет.

Второй строкой опять же подключается вложенное пространство имен System.Collections.Generic: то есть у нас в пространстве имен Systemопределено пространство имен Collections, а уже в нем пространство имен Generic.

И так как C# имеет Си-подобный синтаксис, каждая строка завершается точкой с запятой, а каждый блок кода помещается в фигурные скобки.

Далее начинается уже собственно наше пространство имен, которое будет создавать отдельную сборку или исполняемую программу: сначала идет ключевое словоnamespace, после которого название пространства имен. По умолчанию Visual Studio дает ему название проекта. Далее внутри фигурных скобок идет блок пространства имен.

Пространство имен может включать другие пространства или классы. В данном случае у нас по умолчанию сгенерирован один класс - Program. Классы объявляются похожим способом - сначала идет ключевое словоclass, а потом название класса, и далее блок самого класса в фигурных скобках.

Класс может содержать различные переменные, методы, свойства, прочие инструкции. В данном случае у нас объявлен один метод Main. Сейчас он пуст и ничего не делает. В программе на C# метод Mainявляется входной точкой программы, с него начинается все управление. Он обязательно должен присутствовать в программе.

Словоstaticуказывает, что метод Main- статический, а словоvoid- что он не возвращает никакого значения. Позже мы подробнее разберем, что все это значит.

Далее в скобках у нас идут параметры метода -string[] args- это массив args, который хранит значения типаstring, то есть строки. В данном случае ни нам пока не нужны, но в реальной программе это те параметры, которые передаются при запуске программы из консоли.

Теперь изменим весь этот код на следующий:

using System;

namespace FirstApp
{
    class Program
    {
        static void Main(string[] args)
        {
            Calculator calc = new Calculator();
            calc.Add(2, 3);
        }
    }

    // объявление нового класса
   class Calculator
   {
       public void Add(int x, int y)
       {
           int z = x + y;
            Console.WriteLine("Сумма {0} и {1} равна {2}", x, y, z);
           Console.ReadLine();
       }
   }
}

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

Во-вторых, я добавил в наше пространство имен новый класс - Calculator, который имеет один метод Add. Этот метод принимает в качестве параметров два числа - x и y и складывает их. А сумму выводим на консоль с помощью методаConsole.WriteLine. МетодConsole.ReadLineиспользуется для ожидания ввода от пользователя, чтобы командная строка не схлопывалась сразу же после вывода результата.

В этих двух строках кода я обращаюсь к классу Console, который находится в пространстве имен System. Это пространство подключено в начале с помощью директивы using. Однако нам необязательно подключать пространство имен. Мы можем даже удалить первую строку, но в этом случае мы тогда должны будем указать полный путь до используемого класса. Например, в нашем случае мы могли бы написать:System.Console.ReadLine().

После объявления нового класса мы можем использовать его в методе Main:

Calculator calc = new Calculator(); // создание объекта нового класса
calc.Add(2, 3);  // вызов метода Add нового класса

Позже мы разберем создание объектов, почему именно такой синтаксис используется, а сейчас же достаточно понимать, что все действия, которые мы хотим сделать, мы делаем в методе Main, так как это входная точка в программу. Если бы мы не обратились к методу Add, то он бы никогда бы не сработал.

Теперь мы можем запустить на выполнение с помощью клавиши F5 или с панели инструментов, нажав на зеленую стрелку. И если вы все сделали правильно, то вам отобразится консоль где будет красоваться число 5 - то есть сумма чисел 2 и 3.

Итак, мы создали первое приложение. Вы его можете найти на жестком диске в папке проекта в каталоге bin/Debug(оно будет называться по имени проекта и иметь расширение exe) и затем уже запускать без Visual Studio, а также переносить его на другие компьютеры, где есть .NET.

Теперь же рассмотрим основные составляющие синтаксиса языка

results matching ""

    No results matching ""