Главная страница Случайная лекция Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика Мы поможем в написании ваших работ! |
Базовый синтаксис С#. Структура программыОператоры. Элементарной структурной единицей исходного кода является оператор (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 очень помогает в вопросах, касающихся ввода кода, и в большинстве случаев догадывается о том, что пытается сделать программист. По мере того, как программист вводит код, она предлагает команды, которые он может использовать, и старается исправлять ошибки, связанные с применением неправильного регистра.
Дата добавления: 2014-10-10; просмотров: 838; Нарушение авторских прав Мы поможем в написании ваших работ! |