Читаем Язык программирования C#9 и платформа .NET5 полностью

Реализация методов ToString и GetHashCode

Семантика эквивалентности анонимных типов

Анонимные типы, содержащие другие анонимные типы

Работа с типами указателей

Ключевое слово unsafe

Работа с операциями * и &

Небезопасная (и безопасная) функция обмена

Доступ к полям через указатели (операция ->)

Ключевое слово stackalloc

Закрепление типа посредством ключевого слова fixed

Ключевое слово sizeof

Резюме

Глава 12

Понятие типа делегата

Определение типа делегата в C#

Базовые классы System.MulticastDelegate и System.Delegate

Пример простейшего делегата

Исследование объекта делегата

Отправка уведомлений о состоянии объекта с использованием делегатов

Включение группового вызова

Удаление целей из списка вызовов делегата

Синтаксис групповых преобразований методов

Понятие обобщенных делегатов

Обобщенные делегаты Action<> и Func<>

Понятие событий C#

Ключевое слово event

"За кулисами" событий

Прослушивание входящих событий

Упрощение регистрации событий с использованием Visual Studio

Создание специальных аргументов событий

Обобщенный делегат EventHandler

Понятие анонимных методов C#

Доступ к локальным переменным

Использование ключевого слова static с анонимными методами (нововведение в версии 9.0)

Использование отбрасывания с анонимными методами (нововведение в версии 9.0)

Понятие лямбда-выражений

Анализ лямбда-выражения

Обработка аргументов внутри множества операторов

Лямбда-выражения с несколькими параметрами и без параметров

Использование ключевого слова static с лямбда-выражениями (нововведение в версии 9.0)

Использование отбрасывания с лямбда-выражениями (нововведение в версии 9.0)

Модернизация примера CarEvents с использованием лямбда-выражений

Лямбда-выражения и члены, сжатые до выражений (обновление в версии 7.0)

Резюме

Глава 13

Программные конструкции, специфичные для LINQ

Неявная типизация локальных переменных

Синтаксис инициализации объектов и коллекций

Лямбда-выражения

Расширяющие методы

Анонимные типы

Роль LINQ

Выражения LINQ строго типизированы

Основные сборки LINQ

Применение запросов LINQ к элементарным массивам

Решение с использованием расширяющих методов

Решение без использования LINQ

Выполнение рефлексии результирующего набора LINQ

LINQ и неявно типизированные локальные переменные

LINQ и расширяющие методы

Роль отложенного выполнения

Роль немедленного выполнения

Возвращение результатов запроса LINQ

Возвращение результатов LINQ посредством немедленного выполнения

Применение запросов LINQ к объектам коллекций

Доступ к содержащимся в контейнере подобъектам

Применение запросов LINQ к необобщенным коллекциям

Перейти на страницу:

Похожие книги

97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT