Книжный интернет-магазин книг и аудиокниг - Украина в Киев, Одесса, Запорожье, Донецк, Львов

Интернет магазин книг •
Доставка книг по Украине и СНГ•
Книжные новинки почтой •
SiteHeart  
  Ваша корзина:  
 
    товаров: 0 шт.
        сумма: 0 грн.
 
 
  Купить книги  
     
Книги интернет магазинО вариантах оплаты...Информация о доставке...обратная связьRSS книги подписаться новинки
Быстрый поиск книги:
 

Сегодня в продаже
   Книги
   Книги компьютерные
     Книги 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 оптимизация и продвижение
   Книги по психологии
     Книги по психоанализу
     Книги по психологии
     Книги по психологии бизнеса
     Книги психология женский клуб
     Книги психология НЛП
     Книги психология общая
     Книги психология популярная
     Книги психология прикладная
     Книги психология прочее
     Книги психология психотерапия
     Книги психология ребенка
     Книги психология социальная
     Книги психология тест
     Книги психология тренинг
   Книги по бизнесу
     Книги банки,деньги,кредит
     Книги по бизнесу
     Книги по бухучету
     Книги инвестиционный бизнес
     Книги коммерция и продажи
     Книги по маркетингу и рекламе
     Книги по менеджменту
     Книги по праву
     Книги по предпринимательству
     Книги по финансам
     Книги по экономике
     Книги по экономической теории
   Аудиокниги
   Естественные науки

Оn-line консультант
478-239-775  
zakaz @ cocos. com. ua  
Контактный телефон 8-(048)-700-42-02  
SiteHeart On-line консультант  


Доставка книг по Украине
Город Дней
Доставка книг в Киев
4-7
Доставка книг в Харьков
4-6
Доставка книг в Одесса
2-4
Доставка книг в Запорожье
3-6
Доставка Днепропетровск
5-7
Доставка книг в Винница
3-5
Доставка книг в Донецк
4-7
Доставка книг в Ужгород 5-7
Доставка книг в Житомир
3-6
Доставка Ивано Франковск
4-8
Доставка книг в Кировоград
3-5
Доставка книг в Луганск 4-8
Доставка книг в Луцк 4-8
Доставка книг в Львов 5-7
Доставка книг в Николаев 3-5
Доставка книг в Полтава 4-7
Доставка книг в Ровно 4-8
Доставка книг в Симферополь 3-6
Доставка книг в Сумы 4-8
Доставка книг в Тернополь 3-7
Доставка книг в Хмельницкий 3-6
Доставка книг в Херсон 3-5
Доставка книг в Черновцы 4-7
Доставка книг в Чернигов 4-8
Доставка книг в Черкассы 3-7

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

Реклама

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

365 грн.

 Купить Язык программирования C#. Классика Computers Science. 4-е изд. Хейлсберг     Купить Язык программирования C#. Классика Computers Science. 4-е изд. Хейлсберг
 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, C++,С#  
 
Библия C#. 2-е изд. Фленов
Купить Библия C#. 2-е изд. Фленов Книга Библия C#. 2-е изд. Фленов посвящена программированию на языке C# для платформы Майкрософт .NET, начиная с основ языка и разработки программ для работы в режиме командной строки и заканчивая созданием современных приложений различной сложности (баз данных, графических программ и др.).
Книга C# 2005 для чайников. Стефан Рэнди Дэвис
Купить Книга C# 2005 для чайников. Стефан Рэнди Дэвис Даже если вы никогда не имели дела с программированием, эта книга поможет вам освоить с нуля язык C#. Вы сможете писать на нем программы любой степени сложности. Если вы уже знакомы с каким-либо иным языком программирования, тогда процесс изучения C# только упростится, но наличие опыта программирования — условие совершенно необязательное.
 
     

 

Каталог книг | Книжные новинки | Оплата книг | Доставка книг | Контакты | Помощь

  © 2003-20011 COCOS.COM.UA торговая платформа UAmarkets.com