Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




Базовый синтаксис С#. Структура программы

Читайте также:
  1. I. Страховой рынок и его структура.
  2. II. Административно-штатная структура, положения по управлению клуба
  3. IV. 1. Организация (структура) экосистем
  4. Абсолютные величины: понятие, структура, используемые единицы измерения
  5. Алекситимия и психосоматическая структура
  6. Альтернатива выбора производственной программы
  7. АЭРОДРОМЫ. СТРУКТУРА. КЛАССИФИКАЦИЯ. Определения.
  8. Балльная структура оценки
  9. Банковская система, ее структура. Функции Центрального банка. Операции коммерческих банков.

Операторы. Элементарной структурной единицей исходного кода является оператор (statement). Операторы делятся на операторы объявлений и операторы действий. Операторы действий выполняют те или иные последовательности операций с данными, представленными константами и переменными. Операторы объявлений используются для сообщения компилятору о появлении в программе таких констант и переменных, их именах и типах. Каждый оператор языка C# имеет завершающий символ, в качестве которого используется точка с запятой. При этом компиляторы С# не обращают внимания на дополнительные интервалы в коде, проставляемые с помощью пробельных символов – символов пробела, табуляции и пустой строки.

Благодаря наличию у операторов завершающего символа, с одной стороны, и игнорированию пробельных символов, с другой, допускается:

· произвольное разбиение операторов на две или более строк;

· запись двух или более операторов в одной строке.

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

Блоки.Несколькооператоров С# могут быть объединены в блок. Блок отделяется от остальной части кода с помощью фигурных скобок { и } и может содержаться любое количество операторов или вообще ни одного. С точки зрения синтаксиса языка блок представляет собой один составной оператор.

Замечание. В конце блока завершающий символ точки с запятой не ставится.

Например, простой блок кода может иметь следующий вид:

{

<оператор_1>

<оператор_2>

<оператор_3>

}

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

Блоки кода могут быть вложенными, т.е. блок может находиться внутри другого блока. В этом случае для повышения наглядности кода используются отступы. Отступы можно устанавливать, вводя символ табуляции, однако текстовый редактор среды VS делает это автоматически при вводе символа { и последующем нажатии клавиши Enter.

В следующем примере показан блок нулевого уровня вложения, содержащий внутри себя блок первого уровня вложения:

{

<оператор_1>

{

<оператор_2>

<оператор_3>

}

<оператор_4 >

}

Отметим, что использование отступов является рекомендуемым, но не обязательным стилем записи.

Функции. Следующим уровнем структурирования исходного кода являются функции (functions). Описание функции состоит из заголовка функции, включающего ее имя и тела функции, являющегося блоком. Содержательно функция представляет собой программную реализацию некоторого алгоритма.

Классы.Функции и совместно используемые ими данные объединяются в классы (classes). Подобно описанию функции, описание класса состоит из заголовка, содержащего имя класса и тела класса, ограниченного фигурными скобками. Тело класса содержит объявления и описания его членов, которыми, в частности, могут быть константы, переменные и функции. Более того, функции в языке C# могут присутствовать только как члены некоторого класса. Функции, содержащиеся в классе, называются методами этого класса.

Пространства имен.Понятие пространства имен (namespace) введено в языке C# для предотвращения так называемого конфликта имен на уровне классов. Проблема состоит в том, что на стадии компоновки код, созданный программистом, дополняется кодом из присоединяемых библиотек. При этом может оказаться так, что имя какого-либо класса объявленного программистом случайно совпадет с именем библиотечного класса.

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

Отметим, что подобно блокам, пространства имен допускают вложенность, т.е. внутри одного пространства имен может быть объявлено другое пространство имен.

Единицы компиляции и сборки. Программа C# состоит из одного или нескольких исходных файлов, называемых единицами компиляции. В начале каждого из таких файлов объявляются используемые в нем пространства имен, а затем размещается собственное постранство имен этого файла. При этом одно и то же пространство имен может присутствовать в нескольких исходных файлах.

При компиляции многофайловой программы C# выполняется совместная обработка всех исходных файлов и их физическая упаковка в сборки. Файлы сборок имеют расширение exe, если у одного из классов есть метод Main( ), или dll, если ни у одного из классов нет метода Main(). Сборки первого типа называются приложениями, а сборки второго типа – библиотеками.

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

Комментарии могут выделяться в тексте программы двумя способами:

· размещением ограничивающих маркеров – открывающего /* в начале и закрывающего */ в конце комментария;

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

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

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

/* Это комментарий */

/* И это...

. . . тоже комментарий! */

А вот пример неправильной записи комментария:

/* Завершающий символ комментария "*/" */

Здесь конец комментария (символы, идущие после "*/") будут восприниматься как код С#, из-за чего и будут возникать ошибки.

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

// Это другой вид комментария.

А вот показанный ниже вариант будет приводить к появлению ошибок, поскольку вторая строка будет интерпретироваться не как комментарий, а как код С#:

// И это тоже,

а вот этот фрагмент уже нет.

Такой способ комментирования удобно применять для документирования операторов, поскольку он позволяет размещать операторы и комментарии в одной строке:

<оператор> // Объяснение оператора

Существует еще и третий способ записи комментариев, который, фактически, является расширенной версией синтаксиса //, потому что позволяет добавлять однострочные комментарии, начинающиеся не с двух, а с трех символов слэша, как показано ниже:

/// Специальный комментарий

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

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

Console.WriteLine("Первая программа на C#!");

Ее С#-компилятор сможет понять, потому что все буквы в команде Console.WriteLine() указаны в правильном регистре. Ни одна из приведенных ниже строк, однако, работать не будет:

console.WriteLine("Первая программа на C#!");

CONSOLE.WRITELINE("Первая программа на C#!");

Console.Writeline("Первая программа на C#!");

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


<== предыдущая страница | следующая страница ==>
Class Program | Переменные

Дата добавления: 2014-10-10; просмотров: 838; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.004 сек.