Симон Робинсон - C# для профессионалов. Том II
- Название:C# для профессионалов. Том II
- Автор:
- Жанр:
- Издательство:Лори
- Год:2003
- Город:Москва
- ISBN:5-85582-187-0
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Симон Робинсон - C# для профессионалов. Том II краткое содержание
Платформа .NET предлагает новую среду, в которой можно разрабатывать практически любое приложение, действующее под управлением Windows, а язык C# — новый язык программирования, созданный специально для работы с .NET.
В этой книге представлены все основные концепции языка C# и платформы .NET. Полностью описывается синтаксис C#, приводятся примеры построения различных типов приложений с использованием C# — создание приложений и служб Windows, приложений и служб WWW при помощи ASP.NET, а также элементов управления Windows и WWW Рассматриваются общие библиотеки классов .NET, в частности, доступ к данным с помощью ADO.NET и доступ к службе Active Directory с применением классов DirectoryServices.
Для кого предназначена эта книгаЭта книга предназначена для опытных разработчиков, возможно, имеющих опыт программирования на VB, C++ или Java, но не использовавших ранее в своей работе язык C# и платформу .NET. Программистам, применяющим современные технологии, книга даст полное представление о том, как писать программы на C# для платформы .NET.
Основные темы книги• Все особенности языка C#
• C# и объектно-ориентированное программирование
• Приложения и службы Windows
• Создание web-страниц и web-служб с помощью ASP NET
• Сборки .NET
• Доступ к данным при помощи ADO NET
• Создание распределённых приложений с помощью NET Remoting
• Интеграция с COM, COM+ и службой Active Directory
C# для профессионалов. Том II - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Одним из важных различий между VB6 и C# в этом отношении является то, что система функций VB является специфической для VB, в то время как базовые класс .NЕТ доступны для любого поддерживающего .NET языка программирования.
Соглашения
В этом приложении код на C# часто сравнивается с Visual Basic. Чтобы облегчить идентификацию кода на двух языках программирования, код C# представлен в том же формате, что и в приложениях В и C:
// Код который уже был показан
// Код C#, на который необходимо обратить внимание или который
// является новым
Однако весь код VB дается в следующем формате:
' Код VB представлен на белом фоне
Пример: Форма для извлечения квадратного корня
В этом разделе мы рассмотрим простое приложение, называемое SquareRoot
, которое будет разработано на Visual Basic и на C#. Приложение является обычным диалоговым окном, которое приглашает пользователя ввести число и затем, когда пользователь нажимает кнопку, выводит знак и квадратный корень этого числа. Если число отрицательное, то квадратный корень необходимо вывести как комплексное число, что просто означает извлечение квадратного корня из обратного числа и добавление после него ' i
'. Версия C# примера выглядит следующим образом. Версия VB по виду почти идентична, за исключением того, что имеет стандартною пиктограмму VB вместо пиктограммы оконных форм .NET в верхнем левом углу:

Версия SquareRoot на VB
Чтобы это приложение работало в Visual Basic, надо добавить обработчик событий для события нажатия кнопки. Для кнопки задается имя cmdShowResults
, а текстовые поля имеют имена txtNumber
, txtSign
и txtResult
. С этими именами обработчик событий выглядит следующим образом:
Option Explicit
Private Sub cmdShowResults_Click()
Dim NumberInput As Single
NumberInput = CSng(Me.txtNumber.Text)
If (NumberInput < 0) Then
Me.txtSign.Text = "Negative"
Me.txtResult.Text = CStr(Sqr(-NumberInput)) & " i"
ElseIf (NumberInput = 0) Then
txtSign.Text = "Zero"
txtResult.Text = "0"
Else
Me.txtSign.Text = "Positive"
Me.txtResult.Text = CStr(Sqr(NumberInput))
End If
End Sub
Это единственный фрагмент кода VB, который необходимо написать.
Версия SquareRoot на C#
На C# также необходимо написать обработчик событий для события нажатия кнопки. Здесь сохраняются те же имена кнопки и текстовых полей, но на C# код выглядит следующим образом:
// Обработчик событий нажатия пользователем кнопки Show Results.
// выводится квадратный корень и знак числа
private void OnClickShowResults(object sender, System.EventArgs e) {
float NumberInput = float.Parse(this.txtNumber.Text);
if (NumberInput < 0) {
this.txtSign.Text = "Negative";
this.txtResult.Text = Math.Sqrt(-NumberInput).ToString() + " i";
} else if (NumberInput == 0) {
txtSign.Text = "Zero";
txtResult.Text = "0";
} else {
this.txtSign.Text = "Positive";
this.txtResult.Text = Math.Sqrt(NumberInput).ToString();
}
}
Сравнивая эти два примера кода, можно увидеть сходство в структуре кода и даже без всякого знания C# получить представление о том, что происходит. Также понятно, что существует множество различий в синтаксисе двух языков. Далее будет проведено сравнение этих примеров, чтобы детально обсудить синтаксис C#. В ходе этого процесса мы также выявим различия между базовыми методологиями C# и VB.
Базовый синтаксис
Давайте рассмотрим две программы SquareRoot для ознакомления с синтаксисом C#.
С# требует, чтобы все переменные были объявлены
Начнем с первой строки кода VB, где находится объявление Option Explicit
. Эта инструкция не имеет аналога в C#, так как в C# переменные должны всегда быть объявлены до своего использования. Это соответствует тому, как если бы C# всегда выполнялся с включенным Option Explicit
и не разрешал отключить этот режим. Поэтому нет необходимости явно объявлять Option Explicit
.
Причина такого ограничения заключается в том, что C# был очень тщательно спроектирован таким образом, чтобы затруднить случайное создание ошибок в коде. В VB рекомендуют всегда использовать Option Explicit
, потому что это препятствует созданию трудно находимых ошибок, вызываемых неправильно записанными именами переменных. Легко заметить, что C# не позволяет делать вещи, которые с большой вероятностью могут привести к ошибкам.
Комментарии
Комментирование кода всегда важно, поэтому дальше в обоих примерах (или первое, что делается в примере на C#) добавляется комментарий:
// Обработчик событий нажатия пользователем кнопки Show Results.
// Выводится квадратный корень и знак числа
private void OnClickShowResults(object sender, System.EventArgs e) {
В VB для обозначения начала комментария используется апостроф, а комментарий продолжается до конца строки. Комментарии в C# в этом коде действуют таким же образом, за исключением того, что начинаются с двух прямых наклонных черт: //
. Также как и для комментариев VB, можно использовать всю строку или добавить комментарий в конце строки:
// Этот код определяет результаты
int Result = 10 * Input; // получение результата
Однако C# более гибок в своих комментариях, так как позволяет использовать два других способа указания комментариев, каждый из которых имеет слегка различный эффект.
Комментарий также может быть ограничен последовательностями символов /
* и */
. Другими словами, если компилятор встречает последовательность /*
, он предполагает, что весь последующий текст является комментарием, пока не встретит последовательность */
. Это позволяет иметь длинные комментарии, которые распространяются на несколько строк:
/* этот текст действительно является длинным
длинным
длинным
длинным
комментарием * /
Короткие комментарии внутри строки являются очень полезными, если необходимо только временно заменить что-то в строке во время отладки:
X = /* 20 */ 15;
Третий способ похож на первый. Однако теперь используется три слэша:
///
/// Event handler for user clicking Show Results button.
/// Displays square root and sign of number
///
///
///
private void OnClickShowResults(object sender, System.EventArgs e)
Если впереди используются три наклонные черты вместо двух, то комментарий по-прежнему продолжается до конца строки. Однако этот комментарий имеет теперь дополнительный результат: компилятор C# способен на самом деле использовать комментарии, которые начинаются с трех наклонных черт, чтобы автоматически создавать документацию для исходного кода как отдельный файл XML. Именно поэтому пример выше имеет достаточно формальную структуру для реального текста комментария. Эта структура готова к размещению в файле XML. Здесь не будут представлены детали этого процесса (он рассмотрен в главе 3). Необходимо только сказать, что комментируя каждый метод в коде, можно автоматически получить законченную документацию, которая обновляется при изменении кода. Компилятор будет даже проверять, что документация соответствует сигнатурам методов и т.д.
Читать дальшеИнтервал:
Закладка: