Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Русский_Проект: Изучение Visual Basic C#. Учебный курс


C#. Учебный курс

Здравствуйте, программисты! Сегодня у нас второе занятие, в котором мы создадим наше первую программу на C#.

Занятие 2. Первая программа

Давайте напишем первую програму на C#. Все, что она будет делать - это выводить сообщение в консольном окне и ждать нажатия клавиши Enter на клавиатуре компьютера. Для написания программ на С# годится любой текстовый редактор, например стандартный Блокнот (Notepad). Откройте блокнот и напишите следующее:

// Файл project01.cs
// Первая консольная программа
class FirstProgram 
{
     public static void Main() 
    {
         System.Console.WriteLine("Мяу, куда подевалась мышь?");
    }  
} 

Файлы исходного кода С# имеют расширение .cs («с sharp»). Сохраните файл с написанным текстом как project01.cs. Вы написали код для самой простой консольной программы. Но это еще не сама программа. Для создания программы используется так называемый компилятор.

Компилятор

Компилятор С#, который служит для создания исполняемых файлов EXE, называется csc.exe. Чтобы получить исполняемый файл, скомпилируйте файл project01.cs такой командной строкой:

csc project01.cs

Компилятор создаст файл project01.exe, содержащий MSIL-версию программы, который можно запускать из командной строки. Хотя MSIL не является исполняемым кодом, он содержится в исполняемом exe-файле. При попытке запуска файла project01.exe не зависящая от языка среда исполнения CLR автоматически активизирует JIT-компилятор. Если вы скопируется созданный вами файл на компьютер, на котором не установлен .NET Framework, то ваша программа работать не будет.

На самом деле компилятор имеет несколько флагов, позволяющих создавать различные типы файлов.

Разбор программы

Рассмотрим каждую строчку нашей первой программы. В отличие от некоторых языков программирования (например, Java), в которых нужно следить за названием файла, содержащий код программы, C# позволяет выбрать любое имя файла. Поэтому можно было создать файл example.exe или test.exe и т.д.

Программа начинается со строк:

// Файл project01.cs
// Первая консольная программа

Эти строки являются комментариями. В комментариях описывается или объясняется операция, выполняемая в программе. Не рекомендуется экономить на комментариях, так как через определенное время вы можете забыть, что делает тот или иной код. Кроме того, компилятор игнорирует содержимое комментария, поэтому длинные комментарии не влияют на размер получаемого файла. В C# поддерживаются три типа комментариев. Первый тип - два слэша. Все, что находится за этими символами в этой строке является комментарием. Существует также многострочный комментарий. Для этого в начале комментария ставятся символы /*, а в конце комментария ставятся замыкающие символы */:

/* 
Это многострочный комментарий
Файл project01.cs
Первая консольная программа. Конец комментария
*/

Третьим видом комментариев является особый XML-комментарий. В нем используются теги XML для поддержки создания самодокументированного кода. Этот вид комментария мы рассмотрим позже.

Далее идет строка

class FirstProgram {

В этой строке ключевое слово class указывает на то, что объявляется новый класс FirstProgram. Определение класса начинается с открывающей фигурной скобки ({) и заканчивается закрывающей фигурной скобкой (}). Все элементы, которые находятся внутри между двумя скобками, называются членами класса.

Следующая строка кода начинает определение метода Main():

public static void Main() {

Все приложения на C# начинают выполняться с вызова метода Main() (пишется с заглавной буквы), по аналогии с C++, где выполнение начиналось с вызова функции main(). Еще эту функцию называют точкой входа в программу. Пустые скобки показывают, что Main не имеет параметров, а ключевое слово void — что ОНА не возвращает значения. Ключевое слово public является модификатором (или спецификатором доступа). В данном случае использование public не является здесь строго необходимым; программа будет компилироваться и запускаться и без него. Ключевое слово static позволяет вызывать метод Main() до того, как будет создан объект его класса, а поскольку метод Main() вызывается при старте программы, то он обязательно должен быть статическим. Далее идет ключевое слово void, которое сообщает компилятору, что метод Main() не возвращает значение. Пустые круглые скобки, стоящие после слова Main, указывают, что методу Main() не передается никакая информация. В других примерах мы увидим, что в скобках могут содержаться различные параметры. И, наконец, после круглых скобок идет открывающая фигурная скобка, которая указывает на начало кода метода Main(). Весь код для метода Main помещается между открывающей и закрывающей фигурными скобками.

Внутри метода Main() идет строчка

System.Console.WriteLine("Мяу, куда подевалась мышь?");

System.Console.WriteLine является методом, который принимает один параметр — текстовую строку — и показывает ее на консоли, в окне командной строки. Если вы скомпилируете и запустите программу, она покажет строку:

Мяу, куда подевалась мышь?

Фактически, мы передаем в скобках после названия метода информацию, которая называется аргументом данного метода. Длинное имя метода System.Console.WriteLine состоит из таких частей:

  • System — пространство имен
  • Console — класс, определенный в этом пространстве имен
  • WriteLine — метод, определенный в этом классе; метод — то же самое, что и функция, процедура или подпрограмма

Записывая пространство имен System, имя класса Console и имя метода WriteLine через точку, вы сообщаете компилятору, что метод WriteLine является членом класса Console, который в свою очередь относится к пространствую имен System. Все операторы в C# заканчиваются точкой с запятой (;).

Полное название метода может быть очень длительным, и вводить каждый раз длинную строчку достаточно утомительно. Использование пространств имен позволяет уменьшить объем ввода с клавиатуры. Для этого предназначено ключевое слово using. Пространство имен указывается один раз в операторе using, затем это пространство имен можно не вводить при обрашении к его классам. Вот как можно переписать нашу программу:

// Использование пространства имен
using System;

class FirstProgram 
{
    public static void Main() 
    {
         Console.WriteLine("Мяу, куда подевалась мышь?");
    }
} 

В данном примере преимущество использования using не так заметно, но при создании сложных программ, где требуется вызов нескольких десятков методов, эта возможность поможет вам съэкономить время и силы.

Заключение

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

Во-первых, язык C# чувствителен к регистру. Значит, слова WriteLine, writeline, wrItElInE - это все разные слова. Будьте внимательны.

Во-вторых, каждый оператор должен заканчиваться точкой с запятой. Это важный момент. C# позволяет писать код в свободной форме. Например, можно было написать так:

using System;

class FirstProgram 
{
    public static void Main() 
    {
         Console.WriteLine(
"Мяу, куда подевалась мышь?"
             )
         ;
    }
} 

Таким образом, точка с запятой дает понять, что один оператор закончилс, и за ним может следовать другой. Более подробно об этом поговорим в следующем занятии.

Удачного вам программирования!

SMS-Копилка

На главной странице сайта появилась интересная кошечка, которая является sms-копилкой. Щелкнув на ней, вы откроете форму, в которой вы можете указать сумму, которую хотите пожертвовать сайту. Эта сумма будет списана с вашего счета за мобильный телефон. Минимальная сумма - 30 центов (около 10 рублей). Если хотите поддержать автора и вам не жалко этой суммы, то воспользуйтесь этой копилкой. А мне будет интересно, сколько человек из несколько тысяч подписчиков рассылки откликнутся на мое предложение.


©2006 А.Климов
Русский_Проект

В избранное