`
Читать книги » Книги » Компьютеры и Интернет » Программирование » Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен

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

Перейти на страницу:
с типами указателей

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

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

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

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

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

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

   Ключевое слово 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 и лямбда-выражений

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

   Построение выражений запросов с использованием типа Enumerable и низкоуровневых делегатов

  Резюме

 Глава 14

  Роль процесса Windows

   Роль потоков

  Взаимодействие с процессами используя платформу .NET Core

   Перечисление выполняющихся процессов

   Исследование конкретного процесса

   Исследование набора потоков процесса

   Исследование набора модулей процесса

   Запуск и останов процессов программным образом

   Управление запуском процесса с использованием класса ProcessStartInfo

   Использование команд операционной системы с классом ProcessStartInfo

  Домены приложений .NET

   Класс System.AppDomain

   Взаимодействие со стандартным доменом приложения

   Перечисление загруженных сборок

  Изоляция сборок с помощью контекстов загрузки приложений

  Итоговые сведения о процессах, доменах приложений и контекстах загрузки

  Резюме

 Глава 15

  Отношения между процессом, доменом приложения, контекстом и потоком

   Сложность, связанная с параллелизмом

   Роль синхронизации потоков

  Пространство имен System.Threading

  Класс System.Threading.Thread

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

   Свойство Name

   Свойство Priority

  Ручное создание вторичных потоков

   Работа с делегатом ThreadStart

   Работа с делегатом ParametrizedThreadStart

   Класс AutoResetEvent

   Потоки переднего плана и фоновые потоки

  Проблема параллелизма

   Синхронизация с использованием ключевого слова lock языка C#

   Синхронизация с использованием типа System.Threading.Monitor

   Синхронизация с использованием типа System.Threading.Interlocked

  Программирование с использованием обратных вызовов Timer

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

  Класс ThreadPool

  Параллельное программирование с использованием TPL

   Пространство имен System.Threading.Tasks

   Роль класса Parallel

   Обеспечение параллелизма данных с помощью класса Parallel

   Доступ к элементам пользовательского интерфейса во вторичных потоках

   Класс Task

   Обработка запроса на отмену

   Обеспечение параллелизма задач с помощью класса Parallel

  Запросы Parallel LINQ (PLINQ)

   Создание запроса PLINQ

   Отмена запроса PLINQ

  Асинхронные вызовы с помощью async/await

   Знакомство с ключевыми словами async и await языка C# (обновление в версиях 7.1, 9.0)

   Класс SynchronizationContext и async/await

   Роль метода ConfigureAwait()

   Соглашения об именовании асинхронных методов

   Асинхронные методы, возвращающие void

    Асинхронные методы, возвращающие void и поддерживающие await

    Асинхронные методы, возвращающие void и работающие в стиле "запустил и забыл"

    Асинхронные методы с множеством контекстов await

   Вызов асинхронных методов из неасинхронных методов

   Ожидание с помощью await в блоках catch и finally

   Обобщенные возвращаемые типы в асинхронных методах (нововведение в версии 7.0)

   Локальные функции (нововведение в версии 7.0)

   Отмена операций async/await

   Асинхронные потоки (нововведение в версии 8.0)

   Итоговые сведения о ключевых словах async и await

  

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

Откройте для себя мир чтения на siteknig.com - месте, где каждая книга оживает прямо в браузере. Здесь вас уже ждёт произведение Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен, относящееся к жанру Программирование. Никаких регистраций, никаких преград - только вы и история, доступная в полном формате. Наш литературный портал создан для тех, кто любит комфорт: хотите читать с телефона - пожалуйста; предпочитаете ноутбук - идеально! Все книги открываются моментально и представлены полностью, без сокращений и скрытых страниц. Каталог жанров поможет вам быстро найти что-то по настроению: увлекательный роман, динамичное фэнтези, глубокую классику или лёгкое чтение перед сном. Мы ежедневно расширяем библиотеку, добавляя новые произведения, чтобы вам всегда было что открыть "на потом". Сегодня на siteknig.com доступно более 200000 книг - и каждая готова стать вашей новой любимой. Просто выбирайте, открывайте и наслаждайтесь чтением там, где вам удобно.

Комментарии (0)