Новинки  ·  Как купить книги  ·  Доставка  ·  Контакты



Ваша корзина
книг: 1 Купить
книги
сумма: 361.72грн.

 

 


Каталог книг


Книги по бизнесу
  · Книги банки,деньги,кредит
  · Книги по бизнесу
  · Книги по бухучету
  · Книги инвестиционный бизнес
  · Книги коммерция и продажи
  · Книги по маркетингу и рекламе
  · Книги по менеджменту
  · Книги по праву
  · Книги по предпринимательству
  · Книги по финансам
  · Книги по экономике
  · Книги по экономической теории
Книги компьютерные
  · Книги CAD-ы
  · Книги 3d MAX
  · Книги ACCESS
  · Книги Adobe
  · Книги Assembler
  · Книги Basic
  · Книги C, C++,С#
  · Книги Delphi
  · Книги EXCEL
  · Книги HTML,XML, Dynamic, CSS
  · Книги Java
  · Книги JavaScript
  · Книги Linux
  · Книги MAC
  · Книги Maya
  · Книги OFFICE
  · Книги Oracle
  · Книги Pascal
  · Книги Perl
  · Книги PHP
  · Книги SQL
  · Книги UML
  · Книги Unix
  · Книги VBA
  · Книги Visual Studio
  · Книги WEB дизайн
  · Книги Windows 2000
  · Книги Windows Server
  · Книги Windows Vista
  · Книги Windows XP
  · Книги WORD
  · Книги Алгоритмы
  · Книги 1C Учет
  · Книги Издательские системы
  · Книги по информатике
  · Книги по компьютерной безопасности
  · Книги по компьютерному железу
  · Книги компьютерные сети
  · Книги мультимедиа
  · Книги Нейронные сети
  · Книги ООП
  · Книги Примочки программирования
  · Книги по программированию для WEB
  · Книги Прочая графика
  · Книги прочая разработка
  · Книги прочие CAD
  · Книги прочие базы данных
  · Книги прочие ОС
  · Книги прочие офисное ПО
  · Книги самоучители
  · Книги Цифровое фото
  · Книги электронная коммерция
  · Книги Corel
  · Книги Windows 7
  · Книги Прочее для интернет
  · Книги SEO оптимизация и продвижение
  · Книги SolidWorks
Книги по психологии
  · Книги по психоанализу
  · Книги по психологии
  · Книги по психологии бизнеса
  · Книги психология женский клуб
  · Книги психология НЛП
  · Книги психология общая
  · Книги психология популярная
  · Книги психология прикладная
  · Книги психология прочее
  · Книги психология психотерапия
  · Книги психология социальная
  · Книги психология тест
  · Книги психология тренинг
Знаменитые люди
Книги о детях
Естественные науки

On-line консультант
SiteHeart
ICQ:  603-221-314
E-mail:
kniga@bizkniga.com.ua




Принимаем к оплате:
Оплатить WebMoney
Оплатить WebMoney
Оплатить WebMoney
Оплатить WebMoney
Оплатить WebMoney

Реклама

 

 
SiteHeart
     Язык программирования C#. Классика Computers Science. 4-е изд. Хейлсберг почтой  
 
Share |
Язык программирования C#. Классика Computers Science. 4-е изд. Хейлсберг
361.72 грн.
доставка УкрПочта бесплатно
 Заказать книгу Язык программирования C#. Классика Computers Science. 4-е изд. Хейлсберг  Купить Язык программирования C#. Классика Computers Science. 4-е изд. Хейлсберг
SiteHeart
 2012г.
Количество страниц:  784


Перед вами - IV-е издание главной книжки по языку C#, написанной легендой программирования - Андерсом Хейлсбергом, архитектором C#, Delphi и Turbo Pascal, совместно с другими экспертами, входившими в группу девелоперов C# компании Майкрософт. Издание Язык программирования C#. Классика Computers Science. 4-е изд. Хейлсберг  является максимально полным описанием языка и наиболее авторитетным источником информации по этой теме, построенным в формате сборника спецификаций, включающих в себя описание синтаксиса, сопутствующие материалы и примеры, и образцы кода. Эта книга - особого рода "библия" разработчика, которая легко может заменить как MSDN, так и иные книжки по C#. IV-е издание содержит описание новых особенностей C# 4.0, включая динамическое связывание, именованные и необязательные характеристики, и контравариантные и ковариантные обобщенные типы. Цель таких новшеств - расширение возможностей C# для взаимодействия с объектами, не относящимися к платформе .NET. Отличительная особенность нового издания тоже заключается в том, что каждая глава книжки содержит широкие комментарии, написанные известными "гуру" программирования, такими как Джон Скит, Джозеф Альбахари, Билл Вагнер, Кристиан Нейгел, Эрик Липперт и др.
 
Оглавление книги

Язык программирования C#. Классика Computers Science. 4-е изд. Хейлсберг 

 
Предисловие   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  21
К читателю   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Об авторах   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Об авторах комментариев   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Глава 1. Введение  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.1. Здравствуй, Мир  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
1.2. Структура программы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
1.3. Типы и переменные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
1.4. Выражения  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39
1.5. Операторы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41
1.6. Классы и объекты. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45
1.6.1. Элементы класса  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46
1.6.2. Доступность  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
1.6.3. Параметры-типы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
1.6.4. Базовые классы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49
1.6.5. Поля  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50
1.6.6. Методы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
1.6.6.1. Параметры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
1.6.6.2. Тело метода и локальные переменные  . . . . . . . . . . . . . . . . . . . . .55
1.6.6.3. Статические методы и методы экземпляра  . . . . . . . . . . . . . . . . .56
1.6.6.4. Виртуальные, переопределенные и абстрактные методы . . . . .57
1.6.6.5. Перегрузка методов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60
1.6.7. Другие функциональные элементы класса  . . . . . . . . . . . . . . . . . . . . . . .62
1.6.7.1. Конструкторы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64
1.6.7.2. Свойства. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64
1.6.7.3. Индексаторы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
1.6.7.4. События  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68
1.6.7.5. Операции  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69
1.6.7.6. Деструкторы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70
1.7. Структуры  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  . 71
1.8. Массивы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  . 73
1.9. Интерфейсы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75
1.10. Перечисления. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77
1.11. Делегаты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79
1.12. Атрибуты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Глава 2. Лексическая структура . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
2.1. Программы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83
2.2. Грамматики. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83
2.2.1. Система обозначений  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83
2.2.2. Лексическая грамматика. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85
2.2.3. Синтаксическая грамматика. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85
2.3. Лексический анализ  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85
2.3.1. Символы конца строки  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86
2.3.2. Комментарии  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86
2.3.3. Пробельные символы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88
2.4. Лексемы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  . 88
2.4.1. Управляющие последовательности Unicode  . . . . . . . . . . . . . . . . . . . . . .88
2.4.2. Идентификаторы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89
2.4.3. Ключевые слова  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92
2.4.4. Литералы (константы)  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93
2.4.4.1. Булевские константы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93
2.4.4.2. Целочисленные константы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93
2.4.4.3. Вещественные константы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95
2.4.4.4. Символьные константы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96
2.4.4.5. Строковые константы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .97
2.4.4.6. Константа null  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100
2.4.5. Знаки операций и пунктуации  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100
2.5. Директивы препроцессора  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .101
2.5.1. Символы условной компиляции. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102
2.5.2. Выражения препроцессора  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103
2.5.3. Директивы объявлений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103
2.5.4. Директивы условной компиляции  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105
2.5.5. Директивы диагностики  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108
2.5.6. Директивы region  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109
2.5.7. Директивы line. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109
2.5.8. Директива pragma  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110
2.5.8.1. Предупреждения pragma warning . . . . . . . . . . . . . . . . . . . . . . . . .111
Глава 3. Основные понятия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  113
3.1. Запуск приложения  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113
3.2. Завершение работы приложения  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114
3.3. Объявления. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .115
3.4. Элементы пространств имен и типов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118
3.4.1. Элементы пространств имен  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119
3.4.2. Элементы структур. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119
3.4.3. Элементы перечислений. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120
3.4.4. Элементы классов  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120
3.4.5. Элементы интерфейсов  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120
3.4.6. Элементы массивов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120
3.4.7. Элементы делегатов  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120
3.5. Доступ к элементам. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121
3.5.1. Объявление вида доступа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121
3.5.2. Области доступности. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124
3.5.3. Доступ protected для элементов экземпляров  . . . . . . . . . . . . . . . . . . .127
3.5.4. Ограничения доступа. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129
3.6. Сигнатуры и перегрузка  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130
3.7. Области видимости . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133
3.7.1. Скрытие имен  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .136
3.7.1.1. Скрытие в результате вложения . . . . . . . . . . . . . . . . . . . . . . . . . .137
3.7.1.2. Скрытие в результате наследования . . . . . . . . . . . . . . . . . . . . . .138
3.8. Имена пространств имен и типов  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .140
3.8.1. Полные имена . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143
3.9. Автоматическое управление памятью  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .144
3.10. Порядок выполнения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149
Глава 4. Типы   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  151
4.1. Типы-значения  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151
4.1.1. Тип System.ValueType. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152
4.1.2. Конструкторы по умолчанию  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153
4.1.3. Структурные типы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .154
4.1.4. Простые типы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155
4.1.5. Целочисленные типы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156
4.1.6. Типы с плавающей точкой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158
4.1.7. Десятичный тип  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .161
4.1.8. Булевский тип . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162
4.1.9. Перечислимые типы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .163
4.1.10. Обнуляемые типы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .163
4.2. Ссылочные типы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164
4.2.1. Классы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165
4.2.2. Тип object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166
4.2.3. Тип dynamic  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166
4.2.4. Тип string  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166
4.2.5. Интерфейсы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166
4.2.6. Массивы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166
4.2.7. Делегаты  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167
4.3. Упаковка и распаковка  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167
4.3.1. Упаковка. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168
4.3.2. Распаковка. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .170
4.4. Сконструированные типы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172
4.4.1. Аргументы-типы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173
4.4.2. Открытые и закрытые типы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173
4.4.3. Ограниченные и неограниченные типы  . . . . . . . . . . . . . . . . . . . . . . . . .174
4.4.4. Соблюдение ограничений. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .174
4.5. Параметры-типы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175
4.6. Типы деревьев выражений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .176
4.7. Тип dynamic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177
Глава 5. Переменные   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  179
5.1. Категории переменных. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .179
5.1.1. Статические переменные  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180
5.1.2. Переменные экземпляра  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180
5.1.2.1. Переменные экземпляра в классах  . . . . . . . . . . . . . . . . . . . . . . .180
5.1.2.2. Переменные экземпляра в структурах  . . . . . . . . . . . . . . . . . . . .181
5.1.3. Элементы массива . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181
5.1.4. Параметры-значения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181
5.1.5. Параметры-ссылки  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .182
5.1.6. Выходные параметры  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183
5.1.7. Локальные переменные  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183
5.2. Значение по умолчанию  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185
5.3. Явное присваивание . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .186
5.3.1. Инициализированные переменные. . . . . . . . . . . . . . . . . . . . . . . . . . . . .187
5.3.2. Неинициализированные переменные. . . . . . . . . . . . . . . . . . . . . . . . . . .187
5.3.3. Точные правила для определения явного присваивания. . . . . . . . . . .188
5.3.3.1. Общие правила для операторов. . . . . . . . . . . . . . . . . . . . . . . . . .188
5.3.3.2. Блок, операторы checked и unchecked  . . . . . . . . . . . . . . . . . . . .189
5.3.3.3. Оператор-выражение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189
5.3.3.4. Операторы объявления  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189
5.3.3.5. Условный оператор. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190
5.3.3.6. Оператор выбора  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190
5.3.3.7. Оператор цикла while  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190
5.3.3.8. Оператор цикла do  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .191
5.3.3.9. Оператор цикла for  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .191
5.3.3.10. Операторы перехода break, continue и goto . . . . . . . . . . . . . . .191
5.3.3.11. Оператор throw  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .191
5.3.3.12. Оператор return . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .192
5.3.3.13. Оператор try-catch  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .192
5.3.3.14. Оператор try-fnally  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .192
5.3.3.15. Оператор try-catch-finally. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193
5.3.3.16. Оператор foreach  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .194
5.3.3.17. Оператор using  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .194
5.3.3.18. Оператор lock  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .194
5.3.3.19. Оператор yield . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .194
5.3.3.20. Общие правила для простых выражений  . . . . . . . . . . . . . . . . .195
5.3.3.21. Общие правила для выражений с вложенными 
 выражениями. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .195
5.3.3.22. Выражения вызова и выражения создания объекта . . . . . . . .195
5.3.3.23. Выражения простого присваивания  . . . . . . . . . . . . . . . . . . . . .196
5.3.3.24. &&-выражения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .196
5.3.3.25. Выражения ||. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .197
5.3.3.26. Выражения ! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198
5.3.3.27. Выражения ??  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198
5.3.3.28. Выражения ?: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198
5.3.3.29. Анонимные функции. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .199
5.4. Ссылки на переменные. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .200
5.5. Атомарность ссылок на переменные  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .200
Глава 6. Приведение типов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  201
6.1. Неявные приведения типов  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202
6.1.1. Тождественные преобразования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202
6.1.2. Неявные приведения арифметических типов  . . . . . . . . . . . . . . . . . . . .203
6.1.3. Неявные приведения перечислений . . . . . . . . . . . . . . . . . . . . . . . . . . . .203
6.1.4. Неявные приведения обнуляемых типов  . . . . . . . . . . . . . . . . . . . . . . . .204
6.1.5. Неявные приведения литерала null . . . . . . . . . . . . . . . . . . . . . . . . . . . . .205
6.1.6. Неявные приведения ссылочных типов  . . . . . . . . . . . . . . . . . . . . . . . . .205
6.1.7. Преобразования упаковки  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .207
6.1.8. Неявные приведения типа dynamic . . . . . . . . . . . . . . . . . . . . . . . . . . . . .207
6.1.9. Неявные приведения константных выражений  . . . . . . . . . . . . . . . . . . .208
6.1.10. Неявные приведения параметров-типов . . . . . . . . . . . . . . . . . . . . . . .209
6.1.11. Определенные пользователем неявные приведения типов  . . . . . . .210
6.1.12. Приведения анонимной функции и группы методов  . . . . . . . . . . . . .210
6.2. Явные приведения типов  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .210
6.2.1. Явные приведения арифметических типов  . . . . . . . . . . . . . . . . . . . . . .210
6.2.2. Явные приведения перечислений  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .213
6.2.3. Явные приведения обнуляемых типов  . . . . . . . . . . . . . . . . . . . . . . . . . .213
6.2.4. Явные приведения ссылочных типов  . . . . . . . . . . . . . . . . . . . . . . . . . . .214
6.2.5. Преобразование распаковки  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .215
6.2.6. Явные приведения типа dynamic  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .216
6.2.7. Явное приведение параметров-типов  . . . . . . . . . . . . . . . . . . . . . . . . . .217
6.2.8. Определенные пользователем явные приведения типов  . . . . . . . . . .218
6.3. Стандартные приведения типов  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .219
6.3.1. Стандартные неявные преобразования . . . . . . . . . . . . . . . . . . . . . . . . .219
6.3.2. Стандартные явные преобразования  . . . . . . . . . . . . . . . . . . . . . . . . . . .219
6.4. Приведения типов, определенные пользователем  . . . . . . . . . . . . . . . . . . . . .220
6.4.1. Допустимые приведения типов, определенные пользователем  . . . .220
6.4.2. Повышающие (lifted) приведения типов . . . . . . . . . . . . . . . . . . . . . . . . .220
6.4.3. Выполнение определенных пользователем приведений  . . . . . . . . . .221
6.4.4. Определенные пользователем неявные приведения типов  . . . . . . . .222
6.4.5. Определенные пользователем явные приведения типов  . . . . . . . . . .223
6.5. Приведения анонимных функций  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .225
6.5.1. Выполнение приведений анонимных функций к типам делегатов. . .227
6.5.2. Выполнение приведений анонимных функций 
к деревьям выражений  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .228
6.5.3. Пример реализации. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .228
6.6. Приведения групп методов  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .232
Глава 7. Выражения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  236
7.1. Классификация выражений  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .236
7.1.1. Значение выражений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .238
7.2. Статическое и динамическое связывание. . . . . . . . . . . . . . . . . . . . . . . . . . . . .239
7.2.1. Время связывания  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .240
7.2.2. Динамическое связывание . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .240
7.2.3. Типы составных частей выражений . . . . . . . . . . . . . . . . . . . . . . . . . . . . .242
7.3. Операции  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .243
7.3.1. Приоритет и ассоциативность операций  . . . . . . . . . . . . . . . . . . . . . . . .243
7.3.2. Перегрузка операций  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .245
7.3.3. Разрешение перегрузки унарных операций  . . . . . . . . . . . . . . . . . . . . .247
7.3.4. Разрешение перегрузки бинарной операции  . . . . . . . . . . . . . . . . . . . .247
7.3.5. Набор определенных пользователем операций . . . . . . . . . . . . . . . . . .248
7.3.6. Числовое расширение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .248
7.3.6.1. Унарное числовое расширение  . . . . . . . . . . . . . . . . . . . . . . . . . .249
7.3.6.2. Бинарное числовое расширение  . . . . . . . . . . . . . . . . . . . . . . . . .249
7.3.7. Расширенные операции  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .250
7.4. Поиск элемента  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .251
7.4.1. Базовые типы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .254
7.5. Функциональные элементы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .254
7.5.1. Списки аргументов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .257
7.5.1.1. Соответствующие параметры. . . . . . . . . . . . . . . . . . . . . . . . . . . .258
7.5.1.2. Вычисление списка аргументов во время выполнения 
программы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .260
7.5.2. Выведение типов  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .262
7.5.2.1. Первая фаза. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .264
7.5.2.2. Вторая фаза . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .265
7.5.2.3. Входные типы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .265
7.5.2.4. Выходные типы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .265
7.5.2.5. Зависимость  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .265
7.5.2.6. Выведение выходного типа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .266
7.5.2.7. Явное выведение типа параметра  . . . . . . . . . . . . . . . . . . . . . . . .266
7.5.2.8. Точное выведение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .266
7.5.2.9. Выведение нижней границы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .267
7.5.2.10. Выведение верхней границы  . . . . . . . . . . . . . . . . . . . . . . . . . . .268
7.5.2.11. Фиксация  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .269
7.5.2.12. Выведенный тип возвращаемого значения  . . . . . . . . . . . . . . .270
7.5.2.13. Выведение типа для преобразования группы методов  . . . . .271
7.5.2.14. Нахождение наилучшего общего типа для набора 
 выражений  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .272
7.5.3. Разрешение перегрузки  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .272
7.5.3.1. Подходящий функциональный элемент  . . . . . . . . . . . . . . . . . . .273
7.5.3.2. Лучший функциональный элемент . . . . . . . . . . . . . . . . . . . . . . . .274
7.5.3.3. Лучшее приведение из выражения  . . . . . . . . . . . . . . . . . . . . . . .276
7.5.3.4. Лучшее приведение из типа  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .276
7.5.3.5. Лучший целевой объект приведения . . . . . . . . . . . . . . . . . . . . . .276
7.5.3.6. Перегрузка в обобщенных классах  . . . . . . . . . . . . . . . . . . . . . . .277
7.5.4. Проверка динамического разрешения перегрузки во время 
 компиляции. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .277
7.5.5. Вызов функционального элемента  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .278
7.5.5.1. Вызовы для упакованных экземпляров . . . . . . . . . . . . . . . . . . . .280
7.6. Первичные выражения  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .280
7.6.1. Литералы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .281
7.6.2. Простые имена  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .281
7.6.2.1. Инвариантное значение в блоках . . . . . . . . . . . . . . . . . . . . . . . . .283
7.6.3. Выражения в скобках . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .285
7.6.4. Доступ к элементу  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .285
7.6.4.1. Идентичные простые имена и имена типов  . . . . . . . . . . . . . . . .288
7.6.4.2. Грамматическая неоднозначность. . . . . . . . . . . . . . . . . . . . . . . .288
7.6.5. Выражения вызова. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .289
7.6.5.1. Вызов метода  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .290
7.6.5.2. Вызов метода расширения  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .294
7.6.5.3. Вызов делегата  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .299
7.6.6. Доступ к элементу массива  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .299
7.6.6.1. Доступ к массиву. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .300
7.6.6.2. Доступ к индексатору . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .301
7.6.7. this-доступ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .302
7.6.8. Base-доступ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .303
7.6.9. Постфиксные инкрементные и декрементные операции  . . . . . . . . . .304
7.6.10. Операция new . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .306
7.6.10.1. Выражения создания объекта. . . . . . . . . . . . . . . . . . . . . . . . . . .306
7.6.10.2. Инициализаторы объектов  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .308
7.6.10.3. Инициализаторы коллекций  . . . . . . . . . . . . . . . . . . . . . . . . . . . .311
7.6.10.4. Выражения создания массива  . . . . . . . . . . . . . . . . . . . . . . . . . .313
7.6.10.5. Выражения создания делегата. . . . . . . . . . . . . . . . . . . . . . . . . .315
7.6.10.6. Выражение создания анонимного объекта  . . . . . . . . . . . . . . .317
7.6.11. Операция typeof  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .319
7.6.12. Операции checked и unchecked . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .322
7.6.13. Выражения значений по умолчанию . . . . . . . . . . . . . . . . . . . . . . . . . . .325
7.6.14. Выражения анонимных методов  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .325
7.7. Унарные операции. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .325
7.7.1. Унарная операция плюс  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .326
7.7.2. Унарная операция минус. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .326
7.7.3. Логическая операция отрицания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .327
7.7.4. Операция поразрядного дополнения  . . . . . . . . . . . . . . . . . . . . . . . . . . .327
7.7.5. Префиксные инкрементные и декрементные операции  . . . . . . . . . . .328
7.7.6. Выражения приведения  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .329
7.8. Арифметические операции  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .331
7.8.1. Операция умножения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .331
7.8.2. Операция деления  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .333
7.8.3. Операция взятия остатка от деления  . . . . . . . . . . . . . . . . . . . . . . . . . . .334
7.8.4. Операция сложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .336
7.8.5. Операция вычитания  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .339
7.9. Операции сдвига  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .341
7.10. Операции отношения и операции проверки типа  . . . . . . . . . . . . . . . . . . . . .342
7.10.1. Операции сравнения для целочисленных типов . . . . . . . . . . . . . . . . .343
7.10.2. Операции сравнения для типов с плавающей точкой  . . . . . . . . . . . .344
7.10.3. Операции сравнения для десятичного типа  . . . . . . . . . . . . . . . . . . . .346
7.10.4. Операции равенства для булевского типа . . . . . . . . . . . . . . . . . . . . . .346
7.10.5. Операции сравнения для перечислений  . . . . . . . . . . . . . . . . . . . . . . .346
7.10.6. Операции равенства для ссылочных типов  . . . . . . . . . . . . . . . . . . . . .347
7.10.7. Операции равенства для строкового типа . . . . . . . . . . . . . . . . . . . . . .349
7.10.8. Операции равенства для типов делегатов . . . . . . . . . . . . . . . . . . . . . .349
7.10.9. Операции равенства и константа null  . . . . . . . . . . . . . . . . . . . . . . . . . .350
7.10.10. Операция is . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .350
7.10.11. Операция as  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .351
7.11. Логические операции  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .353
7.11.1. Логические операции для целочисленных типов  . . . . . . . . . . . . . . . .353
7.11.2. Логические операции для перечислений. . . . . . . . . . . . . . . . . . . . . . .354
7.11.3. Булевские логические операции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .354
7.11.4. Обнуляемые булевские логические операции  . . . . . . . . . . . . . . . . . .354
7.12. Условные логические операции  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .355
7.12.1. Булевские условные логические операции  . . . . . . . . . . . . . . . . . . . . .356
7.12.2. Определенные пользователем условные логические операции  . . .356
7.13. Операция объединения с нулем  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .357
7.14. Условная операция  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .359
7.15. Выражения анонимных функций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .361
7.15.1. Сигнатуры анонимной функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .363
7.15.2. Тело анонимной функции  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .364
7.15.3. Разрешение перегрузки  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .365
7.15.4. Анонимные функции и динамическое связывание . . . . . . . . . . . . . . .366
7.15.5. Внешние переменные  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .366
7.15.5.1. Захваченные внешние переменные. . . . . . . . . . . . . . . . . . . . . .366
7.15.5.2. Инстанцирование локальных переменных  . . . . . . . . . . . . . . . .367
7.15.6. Вычисление выражений анонимных функций . . . . . . . . . . . . . . . . . . .370
7.16. Выражения запроса  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .370
7.16.1. Неоднозначность в выражениях запроса . . . . . . . . . . . . . . . . . . . . . . .372
7.16.2. Преобразование выражений запроса. . . . . . . . . . . . . . . . . . . . . . . . . .373
7.16.2.1. Конструкции select и GroupBy с продолжениями. . . . . . . . . . .374
7.16.2.2. Явно определенные типы переменных диапазона  . . . . . . . . .375
7.16.2.3. Вырожденные выражения запросов  . . . . . . . . . . . . . . . . . . . . .376
7.16.2.4. Конструкции from, let, where, join и orderby. . . . . . . . . . . . . . . .376
7.16.2.5. Конструкции select  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .380
7.16.2.6. Конструкция GroupBy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .380
7.16.2.7. Прозрачные идентификаторы. . . . . . . . . . . . . . . . . . . . . . . . . . .380
7.16.3. Паттерн выражения запроса  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .382
7.17. Операции присваивания  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .384
7.17.1. Простое присваивание  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .385
7.17.2. Сложное присваиваивание. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .388
7.17.3. Присваивание событий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .389
7.18. Выражения  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .390
7.19. Константные выражения  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .390
7.20. Булевские выражения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .392
Глава 8. Операторы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  393
8.1. Конечные точки и достижимость. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .393
8.2. Блоки  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .396
8.2.1. Списки операторов  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .396
8.3. Пустой оператор  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .397
8.4. Помеченные операторы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .399
8.5. Операторы объявления. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .400
8.5.1. Объявление локальных переменных . . . . . . . . . . . . . . . . . . . . . . . . . . . .400
8.5.2. Объявление локальных констант . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .403
8.6. Операторы-выражения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .404
8.7. Операторы выбора  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .405
8.7.1. Оператор if. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .405
8.7.2. Оператор switch  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .406
8.8. Операторы цикла . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .411.......
Быстрый поиск по ключевым словам: Язык | | программирования | | C# | | Классика | | Computers | | Science | | 4 | е | изд | | | Хейлсберг |

Доставка Язык программирования C#. Классика Computers Science. 4-е изд. Хейлсберг почтой наложным платежом.

 
     



    Купить книгу в разделе Книги компьютерные - Книги C, C++,С#  
 
Книга ASP.NET MVC Framework с примерами на C# для профессионалов. Сандерсон
Купить Книга ASP.NET MVC Framework с примерами на C# для профессионалов. Сандерсон Книга "ASP.NET MVC Framework с примерами на C# для профессионалов" посвящена вопросам разработки веб-приложений на платформе ASP.NET MVC. В книге подробно рассматриваются основные компоненты этой платформы, ее достоинства и недостатки, особенности разработки на ее основе современных веб-приложений
Книга Язык программирования C# 2010 и платформа .NET 4.0. 5-е изд. Троелсен
Купить Книга Язык программирования C# 2010 и платформа .NET 4.0. 5-е изд. Троелсен Первое издание этой книги Язык программирования C# 2010 и платформа .NET 4. вышло в свет во время проведения конференции Tech-Ed в 2001 г. в Атланте (шт. Джорджия). На тот момент платформа .NET пребывала в стадии бета-тестирования.
 
     
 
 
 
Бизнес книга © 2010-2011
Создание сайтов & Раскрутка сайтов SKYLOGIC
 
Купить книги УкрПочтой по всей Украине.
Интернет магазин книг | Новинки | Оплата | Доставка | Контакты | Помощь