Симон Робинсон - C# для профессионалов. Том II

Тут можно читать онлайн Симон Робинсон - C# для профессионалов. Том II - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Лори, год 2003. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    C# для профессионалов. Том II
  • Автор:
  • Жанр:
  • Издательство:
    Лори
  • Год:
    2003
  • Город:
    Москва
  • ISBN:
    5-85582-187-0
  • Рейтинг:
    4.88/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

Симон Робинсон - C# для профессионалов. Том II краткое содержание

C# для профессионалов. Том II - описание и краткое содержание, автор Симон Робинсон, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
C# для профессионалов

Платформа .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 - читать онлайн бесплатно полную версию (весь текст целиком)

C# для профессионалов. Том II - читать книгу онлайн бесплатно, автор Симон Робинсон
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Точка входа в программу

Основной точкой входа в программу является функция Main():

class MainEntryClass {

///



/// Основная точка входа приложения.

///

[STAThread]

static void Main() {

SquareRootForm TheMainForm = new SquareRootForm();

Application.Run(TheMainForm);

}

}

Это не очевидная точка входа в программу, но это — она. Правило в C# говорит, что выполнение программы начинается с метода с именем Main(). Этот метод должен быть определен как статический в том же классе. Обычно должен быть только один метод во всех классах в исходном коде, который отвечает этому описанию в программе, иначе компилятор не будет знать, какой из них выбрать. Main()здесь определен без параметров и как возвращающий void(другими словами, не возвращающий ничего). Это не единственная возможная сигнатура этого метода, но это обычная сигнатура для приложения Windows (приложения командной строки получают параметры — это любые аргументы, задаваемые в командной строке).

Как упоминалось раже, код VB может иметь метод Main(), но он редко используется и не является обязательным. В C# метод Main()должен присутствовать как основная точка входа в программу.

Так как метод Main()должен быть в классе, то здесь присутствует класс с именем MainEntryClass. В этом классе нет ничего другого, но это не обязательно должно быть так, вполне допустимо для класса, в котором определена точка входа в программу, содержать и другие методы. Тот факт, что метол Main()— статический метод, является важным. Мы говорили раньше, что статические методы являются специальными методами, которые могут выполняться без реального создания в начале программы объекта класса. Так как при выполнении прежде всего вызывается метод Main(), то в этот момент не существует никаких экземпляров никаких классов — еще не выполнился никакой код для их создания. Вот почему точка входа должна быть статической.

Помимо ключевого слова static, определение Main()выглядит, как и предыдущие рассмотренные определения методов. Однако перед ним стоит в квадратных скобках слово [STAThread], [STAThread]является примером атрибута — еще одной концепции, которая не имеет аналогов в исходном коде VB.

Атрибут является конструкцией, предоставляющей дополнительную информацию компилятору о некоторых элементах кода, и всегда имеющей форму слова (возможно также с некоторыми параметрами, хотя не в данном случае) в квадратных скобках сразу перед элементом, к которому он применяется. Этот конкретный атрибут сообщает компилятору о модели потоков выполнения, в которой должен выполняться код. Детали моделей потоков выполнения здесь рассматриваться не будут, но можно сказать, что запись [STAThread]в исходном коде C# имеет эффект, аналогичный выбору модели потоков выполнения в Project Properties в VB IDE, хотя в VB это можно делать только для проектов ActiveX DLL и ActiveX Control. Отметим также, что эта аналогия только приблизительная, так как атрибут C# выбирает модель потоков выполнения .NET, а не модель потоков COM.

Создание экземпляров классов

Давайте теперь рассмотрим код внутри метода Main(). Прежде всего необходимо создать форму — другими словами, экземпляр объекта SquareRootForm. Это делает первая строка кода:

SquareRootForm TheMainForm = new SquareRootForm();

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

Dim SomeDialog As MyDialogClass

Set SomeDialog = New MyDialogClass

В этом коде VB сначала объявляется переменная, которая является объектной ссылкой — SomeDialogбудет ссылаться на экземпляр MyDialogClass. Затем реально создается экземпляр объекта с помощью ключевого слова Newиз VB и присваивается переменной ссылка на этот объект.

Это совпадает с тем, что происходит в коде C#: объявляется переменная с именем TheMainForm, которая является ссылкой на объект SquareRootForm, затем используется ключевое слово C# newдля создания экземпляра SquareRootForm, и после этого мы задаем переменной ссылку на этот объект. Основное синтаксическое различие состоит в том, что C# позволяет объединить обе операции в одной инструкции таким же образом, как ранее сразу объявлялась и инициализировалась переменная NumberInput. Можно также заметить скобки после выражения new — это требование C#. При создании объектов всегда необходимо записывать эти скобки, потому что C# интерпретирует создание объекта несколько похоже на вызов метода, так что даже можно иногда передавать параметры в вызов new, чтобы указать, как желательно инициализировать новый объект. В данном случае параметры не передаются, но скобки все равно должны использоваться.

Классы С#

До сих пор говорилось, что классы C# похожи на модули классов в VB. Мы уже видели одно различие, заключающееся в том, что классы C# допускают статические методы. Приведенный выше код метода Main()подчеркивает теперь еще одно различие: если делается что-то подобное в VB, то необходимо также задать для созданного объекта значение Nothing, когда работа с ним будет закончена. Однако ничего подобного не появляется в коде C#, так как в C# этого делать вовсе не нужно.

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

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

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Симон Робинсон читать все книги автора по порядку

Симон Робинсон - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




C# для профессионалов. Том II отзывы


Отзывы читателей о книге C# для профессионалов. Том II, автор: Симон Робинсон. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x