Ключ к пониманию интерфейсов лежит в их сравнении с классами. Классы — это объекты, обладающие свойствами и методами, которые на эти свойства воздействуют. Хотя классы проявляют некоторые характеристики,…

В этой главе мы рассмотрим основу любого языка программирования — его способность выполнять присваивания и сравнения с помощью операторов. Мы увидим, какие операторы есть в С# и каково…

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

Одно из основных назначений .NET Common Language Runtime (CLR) — недопущение ошибок (что достигается такими средствами, как автоматическое управление памятью и ресурсами в управляемом коде) или хотя бы…

Из главы 7 вы узнали о применении оператора [] для индексации объектов, как если бы они были массивами. В этой главе мы рассмотрим две тесно связанные функции С#…

Одно из полезных нововведений в С# — делегаты (delegates). Их назначение по сути совпадает с указателями функций в C++, но делегаты являются управляемыми объектами и привязаны к типам….

С формальной точки зрения потоки не являются чем-то характерным для С#; поэтому многие книги по С# стремятся обойти этот вопрос. Хотя я старался не отклоняться от рассмотрения С#,…

В главе 2 я говорил, что компилятор генерирует переносимый в Win32 исполняемый модуль (portable executable, РЕ), состоящий главным образом из MSIL-кода и метаданных. Одна из очень мощных возможностей…

Продолжительность жизни нового языка или среды разработки сильно ограничена, если он или она игнорируют унаследованные системы и программы, предоставляя лишь средства для написания новых систем. Независимо от привлекательности…

В этой главе описаны наиболее важные преимущества сборок (assemblies), включая упаковку компонентов .NET и управление их версиями. Вы также узнаете, как создавать однофайловые и многофайловые сборки с помощью…

Adblock
detector