Язык С# 4 стал мощнее и выразительнее, чем в прежних версиях. Воспользовавшись обобщенными типами, лямбда-выражениями, динамическим вводом, LINQ, блоками итераторов и другими средствами, вы сможете сделать удивительные вещи, но сначала следует глубже изучить сам язык С#. Второе издание этой книги полностью пересмотрено и обновлено, здесь рассматриваются новые возможности языка С# 4, а также такие средства, как Code Contracts. Вы изучите нюансы программирования на С# на практике, узнаете, как работать с высокоуровневыми средствами, которые будете рады иметь в своем инструментарии. Книга поможет читателям избежать скрытых недостатков языка С# и ознакомиться с его "внутренними" проблемами.
Предисловие Об авторе Введение Часть I. Отправляемся в путь Глава 1. Изменение способа разработки на С# Глава 2. Язык С# 1 - основа основ Часть II. Язык С# 2: решение проблем языка С# 1 Глава 3. Параметрическая типизация с обобщениями Глава 4. Типы, допускающие значения null Глава 5. Скоростные делегаты Глава 6. Простой путь реализации итераторов Глава 7. Заключение С# 2: финальные средства Часть III. Язык С# 3: революция в программировании Глава 8. Интеллектуальный компилятор Глава 9. Лямбда-выражения и деревья выражений Глава 10. Методы расширения Глава 11. Выражения запросов и LINQ to Objects Глава 12. LINQ вне коллекций Часть IV. С# 4: приятно поиграть с другими Глава 13. Небольшие изменения для упрощения кода Глава 14. Динамическое связывание в статическом языке Глава 15. Позволим нашему коду выражаться яснее с помощью Code Contracts Глава 16. Что дальше Приложение А. Стандартные операторы запроса LINQ Приложение Б. Обобщенные коллекции в .NET Приложение В. Итог по версиям Предметный указатель