Ватсон Карли
Шрифт:
Сравнивая эти два примера кода, можно увидеть сходство в структуре кода и даже без всякого знания C# получить представление о том, что происходит. Также понятно, что существует множество различий в синтаксисе двух языков. Далее будет проведено сравнение этих примеров, чтобы детально обсудить синтаксис C#. В ходе этого процесса мы также выявим различия между базовыми методологиями C# и VB.
Базовый синтаксис
Давайте рассмотрим две программы SquareRoot для ознакомления с синтаксисом C#.
С# требует, чтобы все переменные были объявлены
Начнем с первой строки кода VB, где находится объявление
Причина такого ограничения заключается в том, что C# был очень тщательно спроектирован таким образом, чтобы затруднить случайное создание ошибок в коде. В VB рекомендуют всегда использовать
Комментарии
Комментирование кода всегда важно, поэтому дальше в обоих примерах (или первое, что делается в примере на C#) добавляется комментарий:
В VB для обозначения начала комментария используется апостроф, а комментарий продолжается до конца строки. Комментарии в C# в этом коде действуют таким же образом, за исключением того, что начинаются с двух прямых наклонных черт:
Однако C# более гибок в своих комментариях, так как позволяет использовать два других способа указания комментариев, каждый из которых имеет слегка различный эффект.
Комментарий также может быть ограничен последовательностями символов
Короткие комментарии внутри строки являются очень полезными, если необходимо только временно заменить что-то в строке во время отладки:
Третий способ похож на первый. Однако теперь используется три слэша:
Если впереди используются три наклонные черты вместо двух, то комментарий по-прежнему продолжается до конца строки. Однако этот комментарий имеет теперь дополнительный результат: компилятор C# способен на самом деле использовать комментарии, которые начинаются с трех наклонных черт, чтобы автоматически создавать документацию для исходного кода как отдельный файл XML. Именно поэтому пример выше имеет достаточно формальную структуру для реального текста комментария. Эта структура готова к размещению в файле XML. Здесь не будут представлены детали этого процесса (он рассмотрен в главе 3). Необходимо только сказать, что комментируя каждый метод в коде, можно автоматически получить законченную документацию, которая обновляется при изменении кода. Компилятор будет даже проверять, что документация соответствует сигнатурам методов и т.д.
Разделение и группировка инструкций
Наиболее заметным различием между приведенными выше кодами на VB и на C# будет, почти наверняка, присутствие точек с запятыми и фигурных скобок в коде C#. Хотя это делает код C# довольно устрашающим, принцип на самом деле очень простой. Visual Basic применяет возврат каретки для указания конца инструкции, в то время как в C# используется для той же цели точка с запятой. Фактически компилятор полностью игнорирует все лишние пробелы, включая возвраты каретки. Эти свойства синтаксиса C# можно комбинировать, чтобы предоставить большую свободу при размещении кода. Например, следующий код (переформатированный из части приведенного выше примера) также вполне допустим в C#: