Чтение онлайн

ЖАНРЫ

Язык программирования C#9 и платформа .NET5
Шрифт:

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

Резюме

Глава 12

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

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

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

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

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

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

с использованием делегатов

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

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

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

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

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

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

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

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

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

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

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

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

Понятие анонимных методов 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 к необобщенным коллекциям

Фильтрация данных с использованием метода OfТуре<Т>

Исследование операций запросов LINQ

Базовый синтаксис выборки

Получение подмножества данных

Проецирование в новые типы данных

Проецирование в другие типы данных

Подсчет количества с использованием класса Enumerable

Изменение порядка следования элементов в результирующих наборах на противоположный

Выражения сортировки

LINQ как лучшее средство построения диаграмм Венна

Устранение дубликатов

Операции агрегирования LINQ

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

Построение выражений запросов с применением операций запросов

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

Поделиться с друзьями: